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 Table PID and Program Number. The PAT should end with a 32-bit CRC
PMTs contain information about programs. For each program, there is one PMT. While the MPEG-2 standard permits more than one PMT section to be transmitted on a single PID (Single Transport stream PID contains PMT information of more than one program), most MPEG-2 "users" such as ATSC and SCTE require each PMT to be transmitted on a separate PID that is not used for any other packets. The PMTs provide information on each program present in the transport stream, including the program_number, and list the elementary streams that comprise the described MPEG-2 program. There are also locations for optional descriptors that describe the entire MPEG-2 program, as well as an optional descriptor for each elementary stream. Each elementary stream is labeled with a stream_type value.
This table contains PID numbers of elementary streams associated with the program and it has information about the type of these elementary streams (video, audio, etc.). In addition it may also contain an ECM (entitlement control messages) stream for any other stream that is encrypted. These messages provide the information used in the cipher key selection stage.
This table is used for conditional access management of the cypher keys used for decryption of restricted streams. This table contains privately defined descriptors of the system used and the associated EMM PID. It is used by a network provider to maintain regular key updates.
This optional table may group transport stream identifiers into a network, providing access parameters and other details. ITU-T Rec. H.222 and ISO/IEC 13818-19 do not define the NIT structure. The European Broadcasting Union DVB specification ETSI EN 300 468 (DVB-SI)10 does. The purpose of mentioning but not defining this table in H.222 is that it has reserved program number 0 (zero) in the PAT. The Table ID extension is used to identify the local network together with a directory listing of transport streams. Descriptors are used to list the modulation, source of those streams and programs. The original network identifier is meant to allow transport streams and programs on foreign networks to be included in the local network which allows no remapping of transport and program IDs that may be duplicated between networks. The DVB specification defines the transport packet identifier as 16 and the table identifier of the local network of transports as 64. A table identifier of 65 is for a foreign network of transports. The network identifiers are maintained via DVB Services who have separated the identifiers into two unique, yet unnecessary groupings of Network_ID and Original_Network_ID. The two groupings have a large number of overlapping entries.
Each table in a transport stream is identified by an 8-bit table identifier.
SCTE Specific tables: 0xCO table id is used by Programme Information Message 0xC1 table id is used by Programme Name Message It is not necessary that pid of PMT pointed by PAT will contain a table with table id 0x02 Ignoring table id while reading PMT could have bad consequence
Each descriptor in a transport stream table is identified by an 8-bit descriptor tag.
Each elementary stream in a transport stream is identified by an 8-bit elementary stream type assignment.
"5.1.2 Mapping of sections into Transport Stream (TS) packets". Digital Video Broadcasting (DVB); Specification for Service Information (SI) in DVB systems (PDF). EN. Vol. 300 468 (v1.13.1 ed.). ETSI. 2012. p. 20. Retrieved 2016-10-13. http://www.etsi.org/deliver/etsi_en/300400_300499/300468/01.13.01_40/en_300468v011301o.pdf ↩
http://www.iso.org/iso/catalogue_detail?csnumber=44169 ISO/IEC 13818-1 Information technology --- Generic coding of moving pictures and associated audio information: Systems (MPEG-2) http://www.iso.org/iso/catalogue_detail?csnumber=44169 ↩
http://www.jdsu.com/ProductLiterature/mpeg2_bk_cab_tm_ae.pdf(MPEG-2 Pocketguide) Archived 2012-02-27 at the Wayback Machine http://www.jdsu.com/ProductLiterature/mpeg2_bk_cab_tm_ae.pdf(MPEG-2 ↩
ETSI-EN 300 468 Digital Video Broadcasting (DVB); Specification for Service Information (SI) in DVB systems ↩
"Archived copy" (PDF). Archived from the original (PDF) on 2016-05-13. Retrieved 2016-05-13.{{cite web}}: CS1 maint: archived copy as title (link) https://web.archive.org/web/20160513203531/http://www.scte.org/SCTEDocs/Standards/SCTE%2035%202016.pdf ↩