Digital program mapping
First Claim
Patent Images
1. 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.
4 Assignments
0 Petitions
Accused Products
Abstract
Rather than utilizing fixed point-to-point remapping of PIDS, the present invention utilizes the type of stream that the PIDS are associated with and the related program services IDs to specify the associations between input and output programs. This permits mapping at the program level and, therefore, allows dynamic responses to input program changes based upon the program mapping references. Resolving PID mapping based upon programs and the included services allows output PIDs to remain constant service-by-service even as the input programs change.
49 Citations
21 Claims
-
1. 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. - View Dependent Claims (2, 3)
-
-
4. 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 third plurality of elementary streams of the alternate program to an output PMT identifying the first service ID of the first program assigned to the PE 1 and the plurality of first PIDs of the first program to have the plurality of third PIDs of the alternate program in order to reference the third plurality of elementary streams such that the output PMT identifying the first service ID is associated with the alternate program, wherein the first and third service identifiers (IDS) are different service IDS. - View Dependent Claims (5)
-
-
6. A method to automatically resolve output mapping collisions between packet identifiers (PIDs) of two or more programs following an input program change, 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 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; replacing the first program with a replacement program, the replacement program having a third input program map table (PMT 3) identifying a third service ID and a third plurality of PIDs associated with a third plurality of elementary streams of the alternate program, the second and third service identifiers (IDS) being identical and being different from the first service ID, at least a portion of the second and third plurality of PIDs being identical to create the collision, 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; remapping the replacement program such that the replacement 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; and the second program having an output PMT retaining the second service ID and the second plurality of second PIDs associated with the second plurality of elementary streams, wherein the collision between the PIDs of the second program and the alternate program is reconciled.
-
-
7. A method to automatically resolve output mapping collisions between packet identifiers (PIDs) of two or more programs following an input program change, 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 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 third plurality of PIDs associated with a third plurality of elementary streams of the alternate program, the second and third service identifiers (IDS) being identical and at least a portion of the second and third plurality of PIDs being identical to create the collision, the third service ID identifying the alternate program; discarding the first plurality of elementary streams of the first program; and copying the third plurality of elementary streams of the alternate program and remapping the copied third plurality of elementary streams to an output PMT identifying the service ID of the first program assigned to PE 1 and the plurality of first PIDs to reference the copies third plurality of elementary streams.
-
-
8. A method for manipulating programs within one or more transport streams, the method comprising the steps of:
-
assigning a first program to a program entry, the first program having an input program map table (PMT) 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; force tuning the program entry from the assigned first program to a second program with a second service ID identified by the input PMT and a plurality of second PIDs associated with a second plurality of elementary streams, the second service ID identifying the second program; and remapping the input PMT to generate an output PMT that identifies the first service ID of the first program and the plurality of second PIDs associated with the second plurality of elementary streams of the second program; outputting the second program based on the output PMT, such that the second program is output with the first service ID and the second plurality of PIDs, to provide the second plurality of elementary streams associated with the second plurality of PIDs, wherein the first service ID and the second service ID identify different programs.
-
-
9. A method of manipulating services within one or more transport streams comprising the steps of:
-
assigning a first program to a program entry, the first program having an input program map table (PMT) 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; losing a link to the transport stream having the first program and recovering a second program on a second transport stream assigned to the program entry; inputting a second program of a second transport stream assigned to the program entry, the second program having an input program map table (PMT) 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; and outputting the second program having an output PMT identifying the first service ID and the plurality of second PIDs associated with the second plurality of elementary streams, wherein the first and second service identifiers (IDS) are different service IDS.
-
-
10. A method of manipulating services within one or more transport streams comprising the steps of:
-
inputting a first program assigned to a program entry, the first program having an input program map table (PMT) 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; inputting an alternate program assigned to a second program entry, the alternate program having an input program map table (PMT) identifying a second service ID and a plurality of second PIDs associated with a second plurality of elementary streams of the alternate program, the second service ID identifying the alternate program; and outputting the alternate program having an output PMT identifying the first service ID and the plurality of second PIDs associated with the second plurality of elementary streams, wherein the first and second service identifiers (IDS) are different service IDS. - View Dependent Claims (11)
-
-
12. A method of manipulating services within one or more transport streams comprising the steps of:
-
inputting a first program assigned to a program entry, the first program having an input program map table (PMT) 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; force tuning the program entry to a second program with a second service ID identified by the input PMT and a plurality of second PIDs associated with a second plurality of elementary streams, the second service ID identifying the second program; and outputting the second program associated with the second plurality of elementary streams having an output PMT identifying the first service ID and the plurality of first PIDs, wherein the first and second service identifiers (IDS) are different service IDS.
-
-
13. A method of manipulating services within one or more transport streams comprising the steps of:
-
inputting a first program assigned to a program entry, the first program having an input program map table (PMT) 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; losing a link to the transport stream having the first program and recovering a second program on a second transport stream assigned to the program entry; inputting a second program of a second transport stream assigned to the program entry, the second program having an input program map table (PMT) identifying a second service ID and a plurality of second PIDs associated with a second plurality of elementary streams of second program, the second service ID identifying the second program; and outputting the second program associated with the second plurality of elementary streams having an output PMT identifying the first service ID and the plurality of first PIDs, wherein the first and second service identifiers (IDS) are different service IDS.
-
-
14. A method of mixing services within one or more transport streams comprising the steps of:
-
inputting a first program assigned to a program entry, the first program having an input program map table (PMT) 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; inputting an alternate program assigned to a second program entry, the alternate program having an input program map table (PMT) identifying a second service ID and a plurality of second PIDs associated with a second plurality of elementary streams of the alternate program, the second service ID identifying the alternate program; and outputting the alternate program associated with the second plurality of elementary streams having an output PMT identifying the first service ID and the plurality of first PIDs. - View Dependent Claims (15)
-
-
16. A method for manipulating programs within one or more transport streams, the method comprising the steps of:
-
inputting a first program assigned to a first program entry, the first program having a first input program map table (PMT) 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 and the first program also having a first output PMT identifying the first service ID and the plurality of first PIDs associated with the first plurality of elementary streams of the first program, the first service ID identifying the first program; modifying the first program entry to select another service ID; remapping the output PMT to reference another plurality of PIDs associated with another plurality of elementary streams; and retaining the first service ID as part of the output PMT of the first program assigned to the first program entry. - View Dependent Claims (17)
-
-
18. A method for manipulating programs within one or more transport streams, the method comprising the steps of:
-
inputting a first program assigned to a first program entry, the first program having a first input program map table (PMT) 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 and the first program also having a first output PMT identifying the first service ID and the plurality of first PIDs associated with the first plurality of elementary streams of the first program, the first service ID identifying the first program; modifying the first program entry to select another service ID; remapping the output PMT to have other plurality of elementary streams; and retaining the first service ID and the first plurality of PIDs for referencing the other plurality of elementary streams as part of the output PMT of the first program assigned to the first program entry. - View Dependent Claims (19)
-
-
20. A method for manipulating programs within one or more transport streams, the method comprising the following steps:
-
identifying as input at least one elementary stream within a first program of the one or more transport streams, the one elementary stream being defined as a particular type of elementary stream and associated with a service ID, the service ID identifying the first program; identifying as input at least another elementary stream within another program of the one or more transport streams, the another elementary stream being defined as a particular type of elementary stream and associated with another service ID, the service ID identifying the another program that is different from the first program; mapping the another elementary stream of the one or more transport streams as output based upon the type of the one elementary stream and the service ID of the one elementary stream; and outputting the another program based on the mapping such that the output comprises the another elementary stream. - View Dependent Claims (21)
-
Specification