MPEG-2 Systems Layer
The MPEG Systems Committee has defined a systems layer, specified by ISO-IEC 13818-1. (The MPEG-2 systems layer is commonly and confusingly known as MPEG-2 Transport because it defines a transport packet for transmission purposes.) The MPEG-2 systems layer combines the various components of a digital program into a multi-program transport stream. These components include
Compressed video
Compressed audio
Data
Timing information
System information
Conditional access information
Program-related data
The MPEG-2 systems layer includes the following functions:
Timing and synchronizationThe transmission of timing information in transport packets to allow the receiver to synchronize its decoding rate with the encoder
PacketizationThe segmentation and encapsulation of elementary data streams into 188-byte transport packets.
MultiplexingThe mechanisms used to combine compressed audio and video streams (elementary streams) into a transport stream.
Conditional accessProvision for the transmission of conditional access information in the transport stream.
Timing and Synchronization
MPEG-2 transport includes timing and synchronization functions that assume a constant-delay network. The system timing information is transferred using program clock reference (PCR) timestamps, which are placed in the adaption header of certain packets. The PCR timestamps are used by the decoder to synchronize the decoder clock very accurately to the encoder. In many designs, the decoder clock is used to synthesize the NTSC color subcarrier, which must be controlled to an extremely fine tolerance (about 30 Hz).
In addition, the decoder uses the system timing as a reference for presentation and display timestamps, which are used to synchronize audio and video components of a single program transport stream.
Packetization
The MPEG-2 systems layer is packet-based and allows great flexibility in allocating bit rate between a number of program streams. The packets are of a fixed length, and each contains 184 bytes of payload and has a fixedlength, 4-byte link header, as depicted in Figure 4-2. Within each header is a 13-bit packet identifier (PID) that identifies the stream.
Figure 4-2 MPEG-2 Transport Packet Format
MPEG-2 transport packets use an Asynchronous Transfer Mode; that is, there is no direct relationship between the MPEG-2 system time and the clock used by the physical link. This approach supports great flexiblity in the choice of link layer (see the section Broadband Transmission, later in this chapter), but it does make timing recovery more complicated.
Not surprisingly, MPEG-2 packets are very similar to ATM cells:
MPEG-2 packets are fixed-length.
The identifier has only local significance on the link.
However, MPEG-2 packets are very different from IP packets:
IP packets are variable-length.
The identifier (IP address) has global significance in the network.
Multiplexing
The MPEG-2 systems layer supports a two-level hierarchy of multiplexing: the single-program transport stream and the multi-program transport stream.
Individual program elementary streams (PESs) are packetized into MPEG-2 transport packets and multiplexed together to form a single program transport stream. An elementary stream map is included that describes the structure of the MPEG-2 multiplex; the program map table (PMT), as shown in Figure 4-3, tells the decoder which PID values to select for audio and video for that program. A program corresponds to what is traditionally called a channelfor example, HBO, CNN, and so on.
Figure 4-3 Program Association and Program Map Tables.
Multiple single-program transport streams are multiplexed together to form a multiprogram transport stream (or system multiplex). A program stream map is included to describe the structure of multiplex; the program association table (PAT) has an entry for each program and contains a pointer to the PMT. The PAT is always transmitted using a PID of 0.Multi-program transport streams can be combined or split into fragments by extracting the PAT from each stream and reconstructing a new PAT. This re-multiplexing operation is called grooming. See Chapter 15, OpenCable Headend Interfaces, for more details.
Conditional Access
Part of the MPEG-2 transport stream is used to carry conditional access information. Conditional access is used for security, allowing only authorized decoders to access a video stream. The MPEG-2 systems committee was careful not to specify the conditional access system; instead, it standardized a mechanism that could be used by any conditional access system.
Transport packets with a PID equal to 1 (PID 1) are used to carry the conditional access table (CAT), shown in Figure 4-4. The CAT and the PMT can support multiple conditional access messages, and this mechanism is used for simulcrypt systems in Europe and for the Harmony agreement in North America that allows for dual conditional access (see the article "Multiple Conditional Access Systems," by Michael Adams and Tony Wasilewski, in Communications Technology).
Figure 4-4 Conditional Access Table
Limitations of MPEG-2 Systems Layer
The MPEG-2 systems layer was designed to support constant-delay broadcast networks. MPEG-2 transport packets can be adapted to travel over a communications network (as distinct from a communications link), but the QoS must be tightly controlled. The QoS required by MPEG can be provided by connection-oriented networks (for example, SONET or ATM networks). Connectionless, IP networks are evolving to adopt QoS and traffic engineering capabilities, driven initially by a very strong desire to make practical voice-over-IP; the net result is likely to be reasonable ways to engineer MPEG-over-IP (see Quality of ServiceDelivering QoS on the Internet and in Corporate Networks by Paul Ferguson and Geoff Huston).