Program Specific Information (PSI) is metadata about a program (channel) and part of a MPEG transport stream.
The PSI data contains five tables:
- PAT (Program Association Table)
- CAT (Conditional Access Table)
- PMT (Program Map Table)
- NIT (Network Information Table)
- TDT (Time and Date Table)
PSI is carried in the form of a table structure. The table structure can span multiple transport stream packets. Adaptation field also occurs in TS packets carrying PSI data. The PSI data will never be scrambled so that the decoder at the receiving end can easily identify the properties of the stream.
The PAT, CAT and TDT tables are associated with predefined PID as explained in the respective sections. There may be multiple independent PMT tables in a stream; these are given user-defined PID numbers (as are PES packets). PMT table PIDs are defined in the PAT, and are the only PIDs defined there (PES PIDs are defined in the PMT). Each table has predefined structure.
Contents |
PAT (Program Association Table)
| When exists | Name | Number of bits |
Description |
|---|---|---|---|
| If TS payload unit start |
Pointer field | 8 | |
| Table ID | 8 | 0x00 | |
| Misc | 2 | Always set to binary '10' | |
| Reserved | 2 | Always set to binary '11' | |
| Section length | 2+10 | Informs how many programs are listed below by specifying the number of bytes of this section, starting immediately following this field and including the CRC. First two bits must be zero. | |
| transport stream ID | 16 | User defined data. Value not important to demuxers or players. | |
| Misc | 2+5+1+8+8 | Versions and support for multiple PATs. Can be 0x040000 for simple streams | |
| Repeated N times depending on section length |
Program num | 16 | |
| Reserved | 3 | Always set to binary '111' | |
| Program PID | 13 | packets with this PID are assumed to be PMT tables (see below) | |
The PAT is assigned PID 0x0000 and table id of 0x00. The transport stream contains at least one or more TS packets with PID 0x0000. Some of these consecutive packets form the PAT. At the decoder side the PSI section filter listens to the incoming TS packets. After the filter identifies the PAT table they assemble the packet and decode it. A PAT has information about all the programs contained in the TS. The PAT contains information showing the association of Program Map Table PID and Program Number. The PAT should end with a 32-bit CRC
CAT (Conditional Access Table)
This table is used for conditional access to the streams. This table provides association with EMM stream. When the TS is scrambled then this section contains the EMM PID. This EMM pid is encrypted using the smart card number.
PMT (Program Map Table)
| When exists | Name | Number of bits |
Description |
|---|---|---|---|
| If TS payload unit start |
Pointer field | 8 | Offset of first byte of first field. Usually 0x00 |
| Table ID | 8 | Always 0x02 for PMT | |
| Section syntax indicator | 1 | ||
| Always set to 0 | 1 | ||
| Reserved | 2 | Always set to binary '11' | |
| Section length | 2+10 | Number of programs listed below. First two bits always zero. | |
| Program num | 16 | ||
| Reserved | 2 | ||
| Version number | 5 | Incremented by 1 mod 32 each time the table data changes | |
| Current Next indicator | 1 | If 1, this table is currently valid. If 0, this table will become valid next. | |
| Section number | 8 | Always 0x00 | |
| Last Section number | 8 | Always 0x00 | |
| Reserved | 3 | ||
| PCR PID | 13 | PID of general timecode stream, or 0x1FFF | |
| Reserved | 4 | ||
| Program Info length | 2+10 | Sum size of following program descriptors. First two bits must be zero. | |
| Program Descriptor | N*8 | ||
| Repeated N times depending on section length |
stream type | 8 | |
| Reserved | 3 | Always set to binary '111' | |
| Elementary PID | 13 | ||
| Reserved | 4 | ||
| ES Info length | 2+10 | First two bits must be zero. Entire value may be zero | |
| ES Descriptor | N*8 | If ES Info length is zero, this is omitted. | |
| CRC32 | 32 | ||
This table contains PID numbers of elementary streams associated with the program. In addition it also contains the encrypted messages ECM. The table has information about the type of elementary stream.
NIT (Network Information Table)
This table provides information about the multiplexes and transport streams on a given network.
Information about the current network uses table_id of 0x40, that about other networks uses table_id of 0x41.
It is segmented into network information sections and is carried on PID 0x0010. [ref EN300468]
Also this table contains the private stream information too. For example, TeleText, Subtitle and MHEG
TDT (Time and Date Table)
Provides UTC (Universal Time) coded as MJD (Modified Julian Date). The PID value is 0x0014.
For TDT - Table ID is 0x70 For TOT - Table ID is 0x73
References
External links
This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)




