Program-specific information (PSI) is metadata about a program (channel) and part of an MPEG transport stream. The PSI data as defined by ISO/IEC 13818-1 (MPEG-2 Part 1: Systems) includes four tables: PAT (Program Association Table) CAT (Conditional Access Table) PMT (Program Mapping Table) NIT (Network Information Table) The MPEG-2 specification does not specify the format of the CAT and NIT. PSI is carried in the form of a table structure. Each table structure is broken into sections. Each section can span multiple transport stream packets. On the other hand, a transport stream packet can also contain multiple sections with same PID. 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 sections comprising the PAT and CAT tables are associated with predefined PIDs (Packet Identifier) as explained in their respective descriptions below. There may be multiple independent PMT sections in a stream; each section is given a unique user-defined PID and maps a program number to the metadata describing that program and the streams within it. PMT section PIDs are defined in the PAT, and are the only PIDs defined there. The streams themselves are contained in PES packets with user-defined PIDs specified in the PMT. PSI structure Table Sections Descriptor PAT (Program Association Table) The program association table (PAT) lists all programs available in the transport stream. Each of the listed programs is identified by a 16-bit value called program_number. Each of the programs listed in PAT has an associated value of PID for its PMT. The value 0x0000 for program_number is reserved to specify the PID where to look for network information table. If such a program is not present in PAT the default PID value (0x0010) shall be used for NIT. TS packets containing PAT information always have PID 0x0000. 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