Program-specific information (PSI) is
metadata
Metadata is "data that provides information about other data", but not the content of the data, such as the text of a message or the image itself. There are many distinct types of metadata, including:
* Descriptive metadata – the descriptive ...
about a program (channel) and part of an
MPEG transport stream
MPEG transport stream (MPEG-TS, MTS) or simply transport stream (TS) is a standard digital container format for transmission and storage of audio, video, and Program and System Information Protocol (PSIP) data. It is used in broadcast systems ...
.
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 PS
section filterlistens 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
PMT (Program map specific data)
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.
CAT (Conditional access specific data)
* Table ID value is 0x01.
This table is used for
conditional access
Conditional access (CA) is a term commonly used in relation to software and to digital television systems. Conditional access is that ‘just-in-time’ evaluation to ensure the person who is seeking access to content is authorized to access the c ...
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.
NIT (Network information specific data)
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-1
do not define the NIT structure. The
European Broadcasting Union
The European Broadcasting Union (EBU; french: Union européenne de radio-télévision, links=no, UER) is an alliance of Public broadcasting, public service media organisations whose countries are within the European Broadcasting Area or who ar ...
DVB specification ETSI EN 300 468 (DVB-SI) 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.
PSI labels
Table Identifiers
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
Program and Elementary Stream Descriptor Tags
Each descriptor in a transport stream table is identified by an 8-bit descriptor tag.
Elementary stream types
Each elementary stream in a transport stream is identified by an 8-bit elementary stream type assignment.
{, class="wikitable"
, + Assignments in use
, -
! Decimal !! Hexadecimal !! Description
, -
, align=center, 0
, align=center, 0x00
, Reserved
, -
, align=center, 1
, align=center, 0x01
, ISO/IEC 11172-2 (MPEG-1 video)
in a packetized stream
, -
, align=center, 2
, align=center, 0x02
, ITU-T Rec. H.262 and ISO/IEC 13818-2 (MPEG-2 higher rate interlaced video)
in a packetized stream
, -
, align=center, 3
, align=center, 0x03
, ISO/IEC 11172-3 (MPEG-1 audio)
in a packetized stream
, -
, align=center, 4
, align=center, 0x04
, ISO/IEC 13818-3 (MPEG-2 halved sample rate audio)
in a packetized stream
, -
, align=center, 5
, align=center, 0x05
, ITU-T Rec. H.222 and ISO/IEC 13818-1 (MPEG-2 tabled data)
privately defined
, -
, align=center, 6
, align=center, 0x06
, ITU-T Rec. H.222 and ISO/IEC 13818-1 (MPEG-2 packetized data)
privately defined (i.e., DVB subtitles/VBI and AC-3)
, -
, align=center, 7
, align=center, 0x07
, ISO/IEC 13522 (MHEG)
in a packetized stream
, -
, align=center, 8
, align=center, 0x08
, ITU-T Rec. H.222 and ISO/IEC 13818-1
DSM CC
Digital storage media command and control (DSM-CC) is a toolkit for developing control channels associated with MPEG-1 and MPEG-2 streams. It is defined in part 6 of the MPEG-2 standard (Extensions for DSM-CC) and uses a client/server model connec ...
in a packetized stream
, -
, align=center, 9
, align=center, 0x09
, ITU-T Rec. H.222 and ISO/IEC 13818-1/11172-1 auxiliary data
in a packetized stream
, -
, align=center, 10
, align=center, 0x0A
, ISO/IEC 13818-6
DSM CC
Digital storage media command and control (DSM-CC) is a toolkit for developing control channels associated with MPEG-1 and MPEG-2 streams. It is defined in part 6 of the MPEG-2 standard (Extensions for DSM-CC) and uses a client/server model connec ...
multiprotocol encapsulation
, -
, align=center, 11
, align=center, 0x0B
, ISO/IEC 13818-6
DSM CC
Digital storage media command and control (DSM-CC) is a toolkit for developing control channels associated with MPEG-1 and MPEG-2 streams. It is defined in part 6 of the MPEG-2 standard (Extensions for DSM-CC) and uses a client/server model connec ...
U-N messages
, -
, align=center, 12
, align=center, 0x0C
, ISO/IEC 13818-6
DSM CC
Digital storage media command and control (DSM-CC) is a toolkit for developing control channels associated with MPEG-1 and MPEG-2 streams. It is defined in part 6 of the MPEG-2 standard (Extensions for DSM-CC) and uses a client/server model connec ...
stream descriptors
, -
, align=center, 13
, align=center, 0x0D
, ISO/IEC 13818-6
DSM CC
Digital storage media command and control (DSM-CC) is a toolkit for developing control channels associated with MPEG-1 and MPEG-2 streams. It is defined in part 6 of the MPEG-2 standard (Extensions for DSM-CC) and uses a client/server model connec ...
tabled data
, -
, align=center, 14
, align=center, 0x0E
, ISO/IEC 13818-1 auxiliary data
in a packetized stream
, -
, align=center, 15
, align=center, 0x0F
, ISO/IEC 13818-7 ADTS AAC (MPEG-2 lower bit-rate audio)
in a packetized stream
, -
, align=center, 16
, align=center, 0x10
, ISO/IEC 14496-2 (MPEG-4 H.263 based video)
in a packetized stream
, -
, align=center, 17
, align=center, 0x11
, ISO/IEC 14496-3 (MPEG-4 LOAS multi-format framed audio)
in a packetized stream
, -
, align=center, 18
, align=center, 0x12
, ISO/IEC 14496-1 (MPEG-4 FlexMux)
in a packetized stream
, -
, align=center, 19
, align=center, 0x13
, ISO/IEC 14496-1 (MPEG-4 FlexMux)
in ISO/IEC 14496 tables
, -
, align=center, 20
, align=center, 0x14
, ISO/IEC 13818-6
DSM CC
Digital storage media command and control (DSM-CC) is a toolkit for developing control channels associated with MPEG-1 and MPEG-2 streams. It is defined in part 6 of the MPEG-2 standard (Extensions for DSM-CC) and uses a client/server model connec ...
synchronized download protocol
, -
, align=center, 21
, align=center, 0x15
, Packetized metadata
, -
, align=center, 22
, align=center, 0x16
, Sectioned metadata
, -
, align=center, 23
, align=center, 0x17
, ISO/IEC 13818-6
DSM CC
Digital storage media command and control (DSM-CC) is a toolkit for developing control channels associated with MPEG-1 and MPEG-2 streams. It is defined in part 6 of the MPEG-2 standard (Extensions for DSM-CC) and uses a client/server model connec ...
Data Carousel metadata
, -
, align=center, 24
, align=center, 0x18
, ISO/IEC 13818-6
DSM CC
Digital storage media command and control (DSM-CC) is a toolkit for developing control channels associated with MPEG-1 and MPEG-2 streams. It is defined in part 6 of the MPEG-2 standard (Extensions for DSM-CC) and uses a client/server model connec ...
Object Carousel metadata
, -
, align=center, 25
, align=center, 0x19
, ISO/IEC 13818-6 Synchronized Download Protocol metadata
, -
, align=center, 26
, align=center, 0x1A
, ISO/IEC 13818-11 IPMP
, -
, align=center, 27
, align=center, 0x1B
, ITU-T Rec. H.264 and ISO/IEC 14496-10 (lower bit-rate video)
in a packetized stream
, -
, align=center, 28
, align=center, 0x1C
, ISO/IEC 14496-3 (MPEG-4 raw audio)
in a packetized stream
, -
, align=center, 29
, align=center, 0x1D
, ISO/IEC 14496-17 (MPEG-4 text)
in a packetized stream
, -
, align=center, 30
, align=center, 0x1E
, ISO/IEC 23002-3 (MPEG-4 auxiliary video)
in a packetized stream
, -
, align=center, 31
, align=center, 0x1F
, ISO/IEC 14496-10 SVC (MPEG-4 AVC sub-bitstream)
in a packetized stream
, -
, align=center, 32
, align=center, 0x20
, ISO/IEC 14496-10 MVC (MPEG-4 AVC sub-bitstream)
in a packetized stream
, -
, align=center, 33
, align=center, 0x21
, ITU-T Rec. T.800 and ISO/IEC 15444 (JPEG 2000 video)
in a packetized stream
, -
, align=center, 34 - 35
, align=center, 0x22 - 0x23
, Reserved.
, -
, align=center, 36
, align=center, 0x24
, ITU-T Rec. H.265 and ISO/IEC 23008-2 (Ultra HD video)
in a packetized stream
, -
, align=center, 37 - 65
, align=center, 0x25 - 0x41
, Reserved.
, -
, align=center, 66
, align=center, 0x42
, Chinese Video Standard
in a packetized stream
, -
, align=center, 67 - 126
, align=center, 0x43 - 0x7e
, Reserved.
, -
, align=center, 127
, align=center, 0x7f
, ISO/IEC 13818-11 IPMP (DRM)
in a packetized stream
, -
, align=center, 128
, align=center, 0x80
, ITU-T Rec. H.262 and ISO/IEC 13818-2 with DES-64-CBC encryption for DigiCipher II
or PCM audio for
Blu-rayin a packetized stream
, -
, align=center, 129
, align=center, 0x81
, Dolby Digital (AC-3) up to six channel audio for ATSC and
Blu-rayin a packetized stream
, -
, align=center, 130
, align=center, 0x82
,
SCTE
The Society of Cable Telecommunications Engineers or SCTE is a non-profit professional association for the advancement of technology, standards and workforce education related to cable telecommunications engineering. Founded in 1969 as The Societ ...
subtitle
or
DTS 6 channel audio for
Blu-rayin a packetized stream
, -
, align=center, 131
, align=center, 0x83
,
Dolby TrueHD lossless audio for
Blu-rayin a packetized stream
, -
, align=center, 132
, align=center, 0x84
,
Dolby Digital Plus (enhanced AC-3) up to 16 channel audio for
Blu-rayin a packetized stream
, -
, align=center, 133
, align=center, 0x85
,
DTS 8 channel audio for
Blu-rayin a packetized stream
, -
, align=center, 134
, align=center, 0x86
,
SCTE
The Society of Cable Telecommunications Engineers or SCTE is a non-profit professional association for the advancement of technology, standards and workforce education related to cable telecommunications engineering. Founded in 1969 as The Societ ...
-35
[{{Cite web , url=http://www.scte.org/SCTEDocs/Standards/SCTE%2035%202016.pdf , title=Archived copy , access-date=2016-05-13 , archive-url=https://web.archive.org/web/20160513203531/http://www.scte.org/SCTEDocs/Standards/SCTE%2035%202016.pdf , archive-date=2016-05-13 , url-status=dead ] digital program insertion cue message
or
DTS 8 channel lossless audio for
Blu-rayin a packetized stream
, -
, align=center, 135
, align=center, 0x87
,
Dolby Digital Plus (enhanced AC-3) up to 16 channel audio for ATSC
in a packetized stream
, -
, align=center, 136 - 143
, align="center" , 0x88 - 0x8F
, Privately defined.
, -
, align=center, 144
, align=center, 0x90
,
Blu-ray Presentation Graphic Stream
Presentation Graphic Stream (PGS) is a standard used to encode video subtitles on Blu-ray Disc
The Blu-ray Disc (BD), often known simply as Blu-ray, is a Digital media, digital optical disc data storage format. It was invented and developed in ...
(subtitling)
in a packetized stream
, -
, align=center, 145
, align=center, 0x91
, ATSC
DSM CC
Digital storage media command and control (DSM-CC) is a toolkit for developing control channels associated with MPEG-1 and MPEG-2 streams. It is defined in part 6 of the MPEG-2 standard (Extensions for DSM-CC) and uses a client/server model connec ...
Network Resources table
, -
, align=center, 146 - 191
, align=center, 0x92 - 0xBF
, Privately defined.
, -
, align=center, 192
, align=center, 0xC0
, DigiCipher II text
in a packetized stream
, -
, align=center, 193
, align=center, 0xC1
, Dolby Digital (AC-3) up to six channel audio with AES-128-CBC data encryption
in a packetized stream
, -
, align=center, 194
, align=center, 0xC2
, ATSC
DSM CC
Digital storage media command and control (DSM-CC) is a toolkit for developing control channels associated with MPEG-1 and MPEG-2 streams. It is defined in part 6 of the MPEG-2 standard (Extensions for DSM-CC) and uses a client/server model connec ...
synchronous data
or Dolby Digital Plus up to 16 channel audio with AES-128-CBC data encryption
in a packetized stream
, -
, align=center, 195 - 206
, align=center, 0xC3 - 0xCE
, Privately defined.
, -
, align=center, 207
, align=center, 0xCF
, ISO/IEC 13818-7 ADTS AAC with AES-128-CBC frame encryption
in a packetized stream
, -
, align=center, 208
, align=center, 0xD0
, Privately defined.
, -
, align=center, 209
, align=center, 0xD1
,
BBC Dirac (Ultra HD video)
in a packetized stream
, -
, align=center, 210
, align=center, 0xD2
,
Audio Video Standard AVS2 (Ultra HD video)
in a packetized stream
, -
, align=center, 211
, align=center, 0xD3
,
Audio Video Standard AVS3 Audio
in a packetized stream
, -
, align=center, 212
, align=center, 0xD4
,
Audio Video Standard AVS3 Video (Ultra HD video)
in a packetized stream
, -
, align=center, 213 - 218
, align=center, 0xD5 - 0xDA
, Privately defined.
, -
, align=center, 219
, align=center, 0xDB
, ITU-T Rec. H.264 and ISO/IEC 14496-10 with AES-128-CBC slice encryption
in a packetized stream
, -
, align=center, 220 - 233
, align=center, 0xDC - 0xE9
, Privately defined.
, -
, align=center, 234
, align=center, 0xEA
,
Microsoft Windows Media Video 9 (lower bit-rate video)
in a packetized stream
, -
, align=center, 235 - 255
, align=center, 0xEB - 0xFF
, Privately defined.
References
External links
Tektronix poster
Computer programming
Video codecs
MPEG