Scope and General Introduction
IEC 13818-1-16, more commonly referenced as ISO/IEC 13818-1:2018, is the core systems layer specification of the MPEG-2 standard suite. This document defines the multiplexing and synchronization techniques used to combine one or more elementary streams of audio, video, and data into a single bitstream suitable for transmission, storage, and playback. It specifies two container formats: the Transport Stream (TS) for error-prone environments (e.g., broadcast, IP multicasting) and the Program Stream (PS) for relatively error-free media such as DVD storage.
The standard is fundamental to most modern digital video broadcasting (DVB), ATSC, ISDB, and Blu‑ray systems, and forms the basis for many streaming protocols. IEC 13818-1-16 (2018) consolidates previous amendments and clarifies timing models, descriptor semantics, and system target decoder (STD) requirements.
Note: The designation ‘IEC 13818-1-16 (2018)’ corresponds to the 2018 edition of the MPEG-2 Systems standard, part of the broader ISO/IEC 13818 series. It supersedes earlier editions and incorporates amendments up to the 2016 / 2017 corrections.
Technical Architecture and Key Requirements
Transport Stream (TS) Packet Structure
The Transport Stream is built from fixed‑length 188‑byte packets. Each packet consists of a 4‑byte header, an optional adaptation field, and a payload. The header contains fields for synchronization, error indication, and packet identification (PID). The standard requires a sync byte of 0x47 at the start of every packet, enabling receivers to align to the stream.
Table 1 – Transport Stream Packet Header Fields | Field | Length (bits) | Description |
| sync_byte | 8 | Fixed value 0x47 for packet synchronization |
| transport_error_indicator | 1 | Set to 1 when an uncorrectable error exists in the packet |
| payload_unit_start_indicator | 1 | Indicates the start of a PES packet or PSI section |
| transport_priority | 1 | Allows high‑priority packets to be identified |
| PID | 13 | Packet identifier to demultiplex elementary streams |
| transport_scrambling_control | 2 | Specifies whether the payload is scrambled |
| adaptation_field_control | 2 | Indicates presence of adaptation field and payload |
| continuity_counter | 4 | Incremented per PID to detect packet loss |
Program Specific Information (PSI)
PSI is essential for demultiplexing and conditional access. The standard defines four PSI tables delivered over the TS:
- PAT (Program Association Table) – PID 0x0000, lists all programs and their corresponding PMT PIDs.
- PMT (Program Map Table) – Provides the mapping of program components (streams) to PIDs.
- CAT (Conditional Access Table) – PID 0x0001, carries entitlement management messages (EMMs).
- NIT (Network Information Table) – Optional table describing physical network parameters.
Versioning and section syntax are strictly defined. The standard mandates a minimum repetition rate for PAT (every 100 ms) and PMT (every 400 ms) to ensure fast tuning.
Program Stream (PS) Structure
The Program Stream is designed for environments with low error rates. It packs variable‑length PES packets into a stream of logical packs. Each PS pack begins with a pack header, system header, and one or more PES packets. The system header contains the maximum bitrate and stream identification. Timing is maintained through System Clock Reference (SCR) fields placed in the pack header.
Timing Model and System Target Decoder (STD)
The standard defines a hypothetical reference decoder (the T‑STD for Transport Stream and the P‑STD for Program Stream). Both rely on a common 27 MHz clock derived from the Program Clock Reference (PCR) in TS or the SCR in PS. The decoder model ensures synchronisation between audio and video streams and bounds the buffer sizes required for compliant decoding.
Implementation Tip: When designing a multiplexer, ensure that PCR values are inserted at intervals not exceeding 100 ms and with a jitter of less than ±500 ns. Violations can cause decoder buffer underflows or overflows.
Implementation Highlights
Implementing a compliant MPEG-2 Systems layer requires careful attention to:
- PID management – PID values 0x0000–0x001F are reserved for PSI and metadata. Use unique PIDs for each elementary stream.
- Adaptation field usage – Contains PCR, splice information, and private data. Field length adjustments must respect the 188‑byte packet boundary.
- Section encapsulation – PSI and private sections are packed using table_id, section_length, and CRC_32. Section segmentation must follow pointer_field rules.
- Clock recovery – Receivers must employ a Phase Locked Loop (PLL) to regenerate the 27 MHz clock from PCR samples to a stability of 30 ppm (±810 Hz).
- Buffer models – For a given profile/level (e.g., Main Profile @ High Level), the STD buffer sizes (transport buffer, multiplexing buffer, elementary stream buffer) are fixed. The encoder must never exceed these sizes.
Warning: Start‑up sequences and seamless splicing require careful handling of the adaptation field’s splice_countdown and discontinuity_indicator. Improper usage can cause visible artefacts during channel changes.
Compliance and Verification Notes
Conformance testing of an MPEG-2 Systems implementation usually includes:
- Syntax conformance: Verifying all fields, tables, and descriptors adhere to the bit‑exact definitions of the standard. Tools like the ISO/IEC 13818-1 reference software or TS analysers (e.g., Elecard, Tektronix) check semantics.
- Timing conformance: Measuring PCR accuracy, buffer occupancy profiles, and system clock jitter. The T‑STD model must complete without overflow or underflow for a given set of streams.
- Interoperability: Testing with multiple receiver platforms from different manufacturers (set‑top boxes, TV chipsets) to detect subtle PID mapping or descriptor issues.
- PSI consistency: All version numbers must be consistent across tables; cyclic redundancy checks (CRC) must match correctly.
Compliance Note: The 2018 edition introduced clarifications on descriptor encoding for private data streams and extended the range of stream_type codes. Manufacturers should ensure their equipment is upgraded to support these changes to maintain DVB/SCTE compatibility.
Regulatory bodies in many regions require mandatory testing against the Transport Stream specification before granting approval for broadcasting equipment. For instance, DVB markets enforce the DVB‑TS specification (ETSI TS 101 154) which is based on ISO/IEC 13818-1:2018 with additional constraints.
Critical: Failure to meet the PCR jitter requirement (±500 ns) or the PAT repetition period can result in loss of signal lock and decoder failure, leading to non‑compliance with major standards such as DVB‑T2 or ATSC 3.0.
Frequently Asked Questions
Q: What is the difference between Transport Stream and Program Stream as defined in IEC 13818-1-16 (2018)?
A: The Transport Stream is designed for error‑prone channels using fixed‑length 188‑byte packets, multiple programs, and robust error correction. The Program Stream is for relatively error‑free storage media; it uses variable‑length packets and carries only one or a few programs. The two formats share the same PES packet layer but differ in their multiplex arrangement and timing references (PCR vs. SCR).
Q: Can I use MPEG-2 Transport Stream for internet streaming today?
A: Yes, many live streaming protocols (like HLS and MPEG‑DASH) encapsulate MPEG‑2 TS segments, especially when the source is a broadcast feed. However, for adaptive bitrate streaming, the Transport Stream overhead (188‑byte packet boundaries) is sometimes replaced by the lighter MP4 container. The standard remains essential for backward compatibility and head‑end infrastructure.
Q: How do I ensure my multiplexer complies with the 2018 edition?
A: Use a conformance tool that checks PSI table intervals, PCR insertion timing, and STD buffer compliance (e.g., the official ISO reference software). Additionally, test your output with a reference hardware decoder and verify that all stream_type values (especially the newly assigned ones for HEVC, AC‑4, etc.) match the updated table in Annex A of the standard.
Q: What are the most common compliance failures in MPEG-2 Systems?
A: The most frequent issues are: (1) missing or irregular PCR values causing clock recovery to drift; (2) PAT/PMT PID conflicts or version mismatches; (3) adaptation_field_control errors leading to packet loss detection; (4) incorrect continuity counter increments (should increase by 1 per PID per packet). Systematic testing with a transport stream analyser helps detect these problems early.
This article is based on the 2018 edition of the MPEG-2 Systems standard (IEC 13818-1-16). For detailed normative specifications, always refer to the official ISO/IEC document. Last reviewed: 2026.