Programme-specific information
As stated earlier, an MPEG-2 transport stream can be used to carry information for more than one programme, where each programme is composed of several ESs: audio, video and other data packets. These ESs are identified by a unique PID. At the receiving end, the decoder must be able to identify the ESs that comprise the selected programme. This is the purpose of the programme-specific information (PSI). PSI consists of four tables:
● The programme association table (PAT) contains a list of all the pro- grammes together with the PID of the transport packets that carry their programme map table (PMT).
● The PMT contains a list of all ESs belonging to the selected programme with the PIDs of the relevant transport packets.
● The network information table (NIT) provides information about the phys- ical network carrying the transport stream, such as channel frequencies and service name; this table is optional.
● The conditional access table (CAT) provides information on the scram- bling system, if any, and the PID of the transport packets carrying the conditional access management and entitlement information; this table is present only where conditional access is applied.
When a receiver is turned on and a programme selected, the decoder is first directed to the transport packets with a PID of zero to retrieve the PAT. It examines the PAT to identify the PID of the transport packet that contains
the PMT for the selected programme. For instance, if programme 1 (BBC) is selected, then from the PAT in Figure 7.8, PID 306 will be identified and all transport packets with that PID extracted and decoded to produce the PMT for programme 1. The PMT lists the PID of the ESs making up the pro- gramme and any other service information related to the programme. The next and final step is for the decoder to extract and decode all transport packets with the listed PIDs to reproduce the PES. For programme 1 (Figure 7.8), that means PID 726 (for the PCR and the video elementary stream), PID 56 (for English language) and PID 585 if subtitles are required. This process naturally takes some time, which explains why changing channels for a dig- ital TV receiver is not as instantaneous as for an analogue TV receiver.
The other two tables, NIT and CAT, are optional. Programme 0 in the PAT is reserved for the NIT, and in Figure 7.8 it points to PID 16. The CAT is retrieved only if the scramble control flag in the PES header is enabled.
Transport stream multiplexing
The transport packets of several programmes are multiplexed as illustrated in Figure 7.9. The simple time-division multiplexing allocates time slots in a regular sequence to participating data streams. For this to function, the data streams must share a time clock and have a common fixed bit rate. But MPEG-2 PESs have a varying bit rate that is determined to a large extent by the amount of residual error produced by the video encoding process. Furthermore, the participating program share the available bit rate of the transport stream as necessary with video facing coding difficulties given a larger share of the available transport stream bit rate. For this reason, statistical (also known as packet) multiplexing is used. First the 188-byte transport packets of each program are sent to their individual buffer with a buffer arbitrator as shown in Figure 7.9. The buffer arbitrator decides which program buffer should have a packet extracted by the statistical multiplexer. Thus if a particular program encounters difficult material with a requirement for increased bit rate, its buffer will fill up and the arbitrator will then allocate more packets to accommodate the interim need for increased bit rate. This is only possible if the other programs are experiencing normal video content, otherwise, the re-quantisation at the video encoder would have to be re-adjusted. Thus there has to be a direct connection between the stat-mux and the relevant video coders by which the level of re-quantising is determine by the multiplexer.
As the process proceeds, the buffers would slowly empty. This allows for the PSI to be inserted in the transport stream. Meanwhile, the buffers are filled again. If the multiplexer finds that having sent enough of every- thing including PCRs, it is still short of a packet, it will send a null packet to maintain the bit rate at its output. This may be repeated if necessary to give time for the buffers to fill up. This process provides for the bit rate of the transport stream to be fixed independently from the timing of the data
being carried. This is important because the transport stream is the bit- stream that is modulated and transmitted and as such, it determines the spectrum of the transmission and that must not vary.