While MPEG-1 was specifically proposed for digital storage media, the idea behind MPEG-2 was to provide a generic, application-independent standard. To this end, MPEG-2 takes a “tool kit” approach, providing a number of subsets, each containing different options from the set of all possible options contained in the standard.
For a particular application, the user can select from a set of profiles and levels. The profiles define the algorithms to be used, while the levels define the constraints on the parameters. There are five profiles: simple, main, snr-scalable (where snr stands for signal-to-noise ratio), spatially scalable, and high. There is an ordering of the profiles; each higher profile is capable of decoding video encoded using all profiles up to and including that profile.
For example, a decoder designed for profile snr-scalable could decode video that was encoded using profiles simple, main, and snr-scalable. The simple profile eschews the use of B frames. Recall that the B frames require the most computation to generate (forward and backward prediction), require memory to store the coded frames needed for prediction, and increase the coding delay because of the need to wait for “future” frames for both generation and reconstruction. Therefore, removal of the B frames makes the requirements simpler.
The main profile is very much the algorithm we have discussed in the previous section. The snr-scalable, spatially scalable, and high profiles may use more than one bitstream to encode the video. The base bitstream is a lower-rate encoding of the video sequence. This bitstream could be decoded by itself to provide a reconstruction of the video sequence.
The other bitstream is used to enhance the quality of the reconstruction. This layered approach is useful when transmitting video over a network, where some connections may only permit a lower rate. The base bitstream can be provided to these connections while providing the base and enhancement layers for a higher-quality reproduction over the links that can accommodate the higher bit rate.