PMT

Program Map Table

Services
Introduced in Rel-14
The Program Map Table (PMT) is a fundamental data structure within the MPEG-2 Transport Stream (TS) used for digital television and multimedia broadcast. It acts as a directory, listing all the elementary streams (video, audio, subtitles) that belong to a specific program or service and providing the Packet Identifiers (PIDs) needed to demultiplex them. In 3GPP, it is crucial for Multimedia Broadcast Multicast Service (MBMS) and evolved Multimedia Broadcast Multicast Service (eMBMS) delivery.

Description

The Program Map Table (PMT) is a critical component of the MPEG-2 Systems specification (ISO/IEC 13818-1), which defines the Transport Stream (TS) format for multiplexing digital video, audio, and data. A Transport Stream is designed to carry multiple programs (e.g., different TV channels) over a single transmission channel. Each program is composed of one or more elementary streams—such as a video stream encoded with H.264, multiple audio streams in different languages, and auxiliary data streams for subtitles or teletext. The PMT is the essential table that provides the "map" for a single program, telling a decoder which elementary streams make up that program and how to find them within the larger Transport Stream.

Structurally, the PMT is a special section of data that is itself carried within the Transport Stream packets, identified by a unique Packet Identifier (PID). Each program within the Transport Stream has its own PMT. The PMT contains a header with information like the program number (a unique identifier for the program) and the PID of the Program Clock Reference (PCR) stream used for synchronizing audio and video. The core of the PMT is a loop that describes each elementary stream belonging to the program. For each elementary stream, the PMT entry specifies the stream type (e.g., 0x1B for H.264 video, 0x0F for AAC audio), the PID value of the Transport Stream packets that carry that elementary stream's data, and optional descriptors that provide additional information such as language for audio streams or aspect ratio for video.

The process works as follows: A receiver tuning to a specific program first obtains the Program Association Table (PAT), which is always on a fixed, well-known PID (PID 0). The PAT lists the program number and the corresponding PID for each program's PMT. The receiver then reads the PMT for the desired program number. Using the PMT, the receiver learns the PIDs for the video, audio, and other component streams. The demultiplexer then filters the incoming Transport Stream, selecting only packets with those specific PIDs, and passes them to the appropriate video, audio, or data decoders. This allows the reconstruction of the synchronized multimedia program.

In the context of 3GPP, the PMT is vital for broadcast/multicast services like Multimedia Broadcast Multicast Service (MBMS) and its evolved version, eMBMS (now part of 5G Broadcast). 3GPP TS 26.917 specifies the usage of the MPEG-2 Transport Stream for delivering MBMS services over mobile networks. Here, the PMT defines the composition of each MBMS service (e.g., a mobile TV channel). The BM-SC (Broadcast Multicast Service Centre) generates the Transport Stream containing the PMT and the elementary streams. The PMT information is then used by the eMBMS-enabled network elements and ultimately by the User Equipment (UE) to correctly identify, demultiplex, and decode the broadcasted service. The PMT ensures that a mobile device can seamlessly join a broadcast session and correctly assemble the audio and video components, providing a standardized and interoperable method for delivering rich media content to multiple users simultaneously.

Purpose & Motivation

The Program Map Table was created to solve the fundamental problem of multiplexing multiple digital television programs and their constituent audio, video, and data streams into a single, continuous transmission bitstream (the MPEG-2 Transport Stream). Before such a system, delivering multiple channels and their associated components would require separate, dedicated channels or complex proprietary multiplexing schemes. The PMT provides a standardized, flexible, and efficient "table of contents" for a program within the multiplex. Its purpose is to enable receivers to quickly and accurately identify all the parts of a selected program from within a sea of multiplexed data packets, which is essential for channel surfing, service selection, and reliable decoding.

In the specific context of 3GPP's adoption for MBMS/eMBMS, the purpose of using the PMT and the MPEG-2 Transport Stream framework was to leverage a mature, widely understood, and robust standard for broadcast multimedia delivery. Mobile networks needed a method to efficiently deliver the same content (like live TV or software updates) to thousands of devices simultaneously. By adopting the MPEG-2 TS and its PMT, 3GPP could reuse existing expertise, commercial encoders, and decoder chipsets, accelerating the deployment of mobile broadcast services. It provided a well-defined structure that guaranteed interoperability between content providers, network equipment, and handsets from different vendors.

Furthermore, the PMT's structure is extensible through descriptors, allowing it to carry metadata essential for modern services. This includes information for digital rights management (DRM), service guides (Electronic Service Guide - ESG), and conditional access. For mobile broadcast, this extensibility was crucial. It allowed the BM-SC to embed information about the service's characteristics, languages, and parental ratings directly within the PMT, enabling the UE to present a rich user interface for service discovery and selection. Thus, the PMT serves not just as a technical demultiplexing map but as a carrier of service-related metadata, making it a cornerstone for scalable, feature-rich broadcast services in cellular networks.

Key Features

  • Provides a mapping between a program number and the Packet Identifiers (PIDs) of its component elementary streams
  • Specifies the stream type (e.g., H.264 video, AAC audio) for each elementary stream within a program
  • Carries the PID of the Program Clock Reference (PCR) stream for audio-video synchronization
  • Includes descriptor loops for carrying additional metadata (e.g., language, aspect ratio, conditional access)
  • Essential for demultiplexing MPEG-2 Transport Streams in broadcast systems like DVB, ATSC, and 3GPP MBMS
  • Enables receivers to dynamically identify and decode selected services from a multiplex of many programs

Evolution Across Releases

Rel-14 Initial

3GPP Release 14 formally specified the use of the MPEG-2 Transport Stream, including the Program Map Table (PMT), for evolved Multimedia Broadcast Multicast Service (eMBMS) in TS 26.917. This adoption standardized the carriage of eMBMS user services within the well-established MPEG-2 TS framework, ensuring interoperability with existing broadcast infrastructure. The specification detailed how the PMT describes eMBMS services, including the mapping of service components to PIDs and the inclusion of relevant descriptors for mobile broadcast delivery.

Defining Specifications

SpecificationTitle
TS 26.917 3GPP TS 26.917