There are three types of coded pictures in MPEG1: I, P, and B frames. I frames, or intra-coded frames, are partitioned to macroblocks and encoded with virtually the same way as in H.261 intra coding. P frames, or forward predicted frames, are motion compensated and encoded similarly to the H.261 inter mode. B frames, or bidirectionally predicted frames, are encoded using interpolated motion estimation between the previous in time I or P picture (forward prediction), and the next I or P frame in the sequence (backward prediction). B pictures are never used as a reference for predicting other frames in the sequence.
The temporal positioning, and consequently the display sequence of these frames
is shown in Figure 2.7. However, the sequence of pictures that is
transmitted is different, in order to limit the decoder's buffer requirements to
two frames only. For example, a sequence of pictures:
This out-of-sequence transmission or storage pattern, has made the delay requirements for MPEG streams higher than H.261's, which reflects that real-time communications was not one of the design considerations, as in H.261. The bitstream hierarchy is similar to the H.261, with the slice layer being the equivalent of the GOB layer, and the Group of Pictures (GOP) layer added, which consists of all the frames between two I frames, the first of the two included. MPEG1 supports rate control to avoid buffer overflows, as described in previous paragraphs.