border

0 今天是
无标题

Work‎ > ‎

MPEG-2 Program Specific Information (PSI) Table Sections

One of the characteristics that distinguishes a fully standards-compliant transport stream from a fully standards-compliant program stream is the presence of MPEG-2 program specific information (PSI) in the former.

The highest level in the PSI hierarchy is the Program Association Table or PAT, which simply provides the transport_stream_id of the transport stream and describes where to find the Program Map Table (PMT) sections in the transport stream.  Optionally, the packet id (or pid) where the Network Information Table (NIT) can be found can be published in the PAT.  Like all the PSI sections listed below, PATs must be provided with instances that are currently effective, and may include "next" editions to inform receivers of changes before they become effective.

There must be one Program Map Table (PMT) section for each program included in the transport stream.  Each PMT section furnishes the program_number for each program service and gives the pid and stream_type for each program element that comprises the program service.  PMT sections also include variable-length fields called descriptors that can include optional data describing the entire program or individual streams within the program service..

Program Association Table (PAT)

Program Map Table (PMT)

Conditional Access Table (CAT)

Transport Stream Description Table (TSDT)

Each of the MPEG-2 users, such as ARIB, ATSC, DVB and SCTE may impose additional constraints on PAT and PMT sections.



Program Association Table (PAT) [MPEG Syntax]

A Program Association table (PAT) has two simple function: it lists the program_number and packet id (location) of Program Map Table sections in a transport stream and secondly and optionally, the packet id where the Network Information Table (NIT) can be found. However, NITs are not used in the ATSC world.

ATSC packetization characteristics
packet idunique pidt_s_ca_f_cp_u_s_ipointer_fieldlisted in MGT
0True'00''01'True0-182False
ATSC maximums
ms per sectionsections per
instance
bytes per sectioninstancesmax bps
100 (ATSC)2561024current
next
80,000

One PAT is required to be present in every MPEG-2 transport stream that contains one or more program services. The PAT must be transmitted on packet id 0, and no other use can be made of this pid.

MPEG-2 does not specify how frequently a PAT must be transmitted, but ATSC A/53 requires a PAT to be transmitted at least once every 100 milliseconds. However, if the PAT is comprised of so many large sections that pid 0 might exceed the maximum of 80,000 bits per second permited for pids carrying MPEG-2 PSI sections, the repetition rate can be extended to no more than 140 milliseconds.

If a new PAT is to be more than one table section, it may be useful to send a "next" table so that when the "next" table becomes the current table, the change can be effected immediately.

section syntax
syntaxbit index# of bitsmnemonic
table_id08uimsbf
section_syntax_indicator81bslbf
'0'91bslbf
reserved102bslbf
section_length1212uimsbf
transport_stream_id2416uimsbf
reserved402bslbf
version_number425uimsbf
current_next_indicator471bslbf
section_number488bslbf
last_section_number568bslbf
for i = 0 to N
  program_number56 + (i * 4)16uimsbf
  reserved72 + (i * 4)3bslbf
  if program_number = 0
    network_PID75 + (i * 4)13uimsbf
  else
    program_map_pid75 + (i * 4)13uimsbf
  end if
next
CRC_3288 + (i * 4)32rpchof
Table section legend


Program map table (PMT) [MPEG Syntax]

The Program Map table (PMT) is comprised of sections for each program_number represented in a transport stream, each section of which contains the packet id and characteristics of each elementary stream in the program service.

ATSC packetization characteristics
packet idunique pidt_s_ca_f_cp_u_s_ipointer_fieldlisted in MGT
0True'00''01'True0-182False
ATSC maximums
ms per sectionsections per
program_number
bytes per sectioninstancesmax bps
per pid
400 (ATSC)11024current
next
80,000

The Program Map table is comprised of one of more sections, each pertaining to a single program service.

section syntax
syntaxbit index# of bitsmnemonic
table_id08uimsbf
section_syntax_indicator81bslbf
'0'91bslbf
reserved102bslbf
section_length1212uimsbf
program_number2416uimsbf
reserved402bslbf
version_number425uimsbf
current_next_indicator471bslbf
section_number488bslbf
last_section_number568bslbf
reserved563bslbf
PCR_PID5913uimsbf
reserved724bslbf
program_info_length7612uimsbf
descriptor()88varA 
for i = 0 to N
  stream_type88 + varA8uimsbf
  reserved96 + varA3bslbf
  elementary_PID99 + varA13uimsbf
  reserved112 + varA4bslbf
  ES_info_length116 + varA12uimsbf
  descriptor()128 + varAvarA 
next
CRC_32 32rpchof
Table section legend
Note: bit index is only indicated for the first time through the loop.


Conditional Access tables (CAT) are designed to deny general users access to premium or otherwise restricted content, and to establish protocols and systems to grant authorized users access.

As a practical matter, MPEG only establishes the data structure for CAT and leave the details up to MPEG users like ATSC, ARIB, DVB and SCTE.

Building upon the MPEG work, ATSC has established further protocols for terrestrial conditional access in ATSC A/70, but has largely left the implementation details up to the end-user.

syntaxbit index# of bitsmnemonic
table_id08uimsbf
section_syntax_indicator81bslbf
'0'91bslbf
reserved102bslbf
section_length1212uimsbf
transport_stream_id2416uimsbf
reserved402bslbf
version_number425uimsbf
current_next_indicator471bslbf
section_number488bslbf
last_section_number568bslbf
for i = 0 to N
  descriptor()64var 
next
CRC_32 32rpchof
Table section legend
Note: bit index is only indicated for the first time through the elementary stream loop.


Transport Stream Description Tables(SDT) [MPEG Syntax]

A transport stream description table is a purely optional MPEG-2 Program Specific Information (PSI) table section that permits the carriage of one or more descriptors whose scope includes the entire transport stream. When used, transport stream descriptor tables shall be carried in packets with the packet id = 2 / 0x0002.

ATSC characteristics
No ATSC packetization characteristics have been specified for this table section.

The Transport Stream Description table is comprised of one of more sections, each pertaining to a single program service.

section syntax
syntaxbit index# of bitsmnemonic
table_id083 / 0x03
section_syntax_indicator81bslbf
'0'91bslbf
reserved102bslbf
section_length1212uimsbf
reserved2418bslbf
version_number425uimsbf
current_next_indicator471bslbf
section_number488bslbf
last_section_number568bslbf
descriptor()64varA 
CRC_3264 + varA32rpchof
Table section legend
Note: bit index is only indicated for the first time through the loop.

EtherGuide Prophecy can manage the generation of transport stream description tables, and EtherGuide Emissary injects transport stream description tables, other MPEG-2 PSI table sections, and ATSC PSIP table sections.


From: http://www.etherguidesystems.com/Help/SDOs/MPEG/Syntax/TableSections/Default.aspx