Subdivision Into Macro Blocks
Instead, the image is split into macro blocks with a size of 8x8 or 16x16 pixels that are separately handled. In the next step, the difference between the macro block in image N and the moved macro block in image N+1 is established (see figure 4). This error image has to be coded and saved along with the displacement vector in order to monitor the subsequent error accumulation. Memory space requirements are minimized if the difference between the moved macro blocks is so small that it's possible to completely forget encoding the difference.
Figure 2: A discrete cosine transformation method (DCT) is used to suppress highly frequent image areas, as these aren't apparent to the human eye.
In order to code the images (the next step), the following macro block types, shown in figure 3, are used: the "I" frames are images which are saved in the equivalent JPEG format and are not dependent on the previous or subsequent frames. Only the "I" frame (intra coded image) permits direct access to the individual sections or still frames in a clip. In contrast, "P" frames (predicted image) are predicted from the previous "I" frame. The most universal image types are the "B" frames (bi-directionally interpolated image) that are interpolated from the previous, or following P or I frame.
Figure 3: Macro block types during image encoding.