MPEG-2 is intended to be generic in the sense that it serves a wide range of applications, bit rates, resolutions, qualities and services. Applications should cover, among other things, digital storage media, television broadcasting and communications. In the course of the development, various requirements from typical applications were considered, and they were integrated into a single syntax. Hence MPEG-2 is expected to facilitate the interchange of bit streams among different applications. Considering the practicality of implementing the full syntax of the bit stream, however, a limited number of subsets of the syntax are also stipulated by means of profile and level [6].
A profile is a subset of the entire bit stream syntax that is defined by the MPEG-2 specification. Within the bounds imposed by the syntax of a given profile it is still possible to encompass very large variations in the performance of encoders and decoders depending upon the values taken by parameters in the bit stream. For instance, it is possible to specify frame sizes as large as (approximately) 214 samples wide by 214 lines high. It is currently neither practical nor economical to implement a decoder capable of dealing with all possible frame sizes. In order to deal with this problem levels are defined within each profile. A level is a defined set of constraints imposed on parameters in the bit stream. These constraints may be simple limits on numbers. Alternatively, they may take the form of constraints on arithmetic combinations of the parameters (e.g. frame width multiplied by frame height multiplied by frame rate). Both profiles and levels have a hierarchical relationship, and the syntax supported by a higher profile or level must also support all the syntactical elements of the lower profiles or levels.
Bit streams complying with the MPEG-2 specification use a common syntax. In order to achieve a subset of the complete syntax, flags and parameters are included in the bit stream which signal the presence or otherwise of syntactic elements that occur later in the bit stream. Then to specify constraints on the syntax (and hence define a profile) it is only necessary to constrain the values of these flags and parameters that specify the presence of later syntactic elements.
In order to parse the bit stream into specific applications, they are ordered into layers. If there is only one layer, the coded video data is called a nonscalable video bit stream. For two or more layers, the bit stream is called a scalable hierarchy. In the scalable mode, the first layer, called the base layer, is always decoded independently. Other layers are called enhancement layers, and can only be decoded together with the lower layers.
Before describing how various scalabilities are introduced in MPEG-2, let us see how levels and profiles are defined. MPEG-2 initially defined five hierarchical structure profiles and later on added two profiles that do not fit the hierarchical structure. The profile mainly deals with the supporting tool for coding, such as the group of picture structure, the picture format and scalability. The seven known profiles and their current applications are summarised in Table 8.1.
Type | Supporting tools | Application |
---|---|---|
Simple | I & P picture, 4:2:0 format; nonscalable | currently not used |
Main | simple profile + B-pictures | broadcast TV |
SNR scalable | main profile + SNR scalability | currently not used |
Spatial | SNR profile + Spatial scalability | currently not used |
High | spatial profile + 4: 2: 2 format | currently not used |
4:2:2 | IBIBIB . . . pictures, extension of main profile to high bit rates | studio postproduction; high quality video for storage (VTR) & Video distribution |
Multiview | main profile + temporal scalability | several video streams; stereo presentation |
The level deals with the picture resolutions such as the number of pixels per line, lines per frame, frame per seconds (fps) and bits per second or the bit rate (e.g. Mbps). Table 8.2 summarises the levels that are most suitable for each profile.
Level | resolutions | Simple I,P 4:2:0 | Main I,P,B 4:2:0 | SNR I,P,B 4: 2:0 | Spatial I,P,B 4:2:0 | High I,P,B 4:2:0 4:2:2 | 4:2:2 I,P,B 4:2:0 4:2:2 | Multiview I,P,B 4: 2: 0 |
---|---|---|---|---|---|---|---|---|
Low | pel/line | 352 | 352 | 352 | ||||
line/fr | 288 | 288 | 288 | |||||
fps | 30/25 | 30/15 | 30/25 | |||||
Mbps | 4 | 4 | 8 | |||||
Main | pel/line | 720 | 720 | 720 | 720 | 720 | 720 | |
line/fr | 576 | 576 | 576 | 576 | 512/608 | 576 | ||
fps | 30/25 | 30/25 | 30/25 | 30/25 | 30/25 | 30/25 | ||
Mbps | 15 | 15 | 15 | 20 | 50 | 25 | ||
High 1440 | pel/line | 1440 | 1440 | 1440 | 1440 | |||
line/fr | 1152 | 1152 | 1152 | 1152 | ||||
fps | 60 | 60 | 60 | 60 | ||||
Mbps | 60 | 60 | 80 | 100 | ||||
High | pel/line | 1920 | 1920 | 1920 | 1920 | |||
line/fr | 1152 | 1152 | 1152 | 1152 | ||||
fps | 60 | 60 | 60 | 60 | ||||
Mbps | 80 | 100 | 130 | 300 |
The main profile main line (MP@ML) is the most widely used pair for broadcast TV and the 4:2:2 profile and main line (4:2:2@ML) is for studio video production and recording.