adjacent macroblocks and in effect just coding the difference from block to block. This is something of an oversimplification. There is actually a stage described as quantisation that removes perceptually insignificant data (and reduces the number of bits per DCT coefficient) and AC/DC prediction that uses filters to predict coefficient values from one or more adjacent blocks, but otherwise that's JPEG in a nutshell. There is also a version of JPEG known as motion JPEG - a succession of JPEG images used for video streaming. 1 http://pluggedin.kodak.com/pluggedin/post/?;id=624876. Making Telecoms Work 8.2.5 The MPEG Encoder Generally though, moving images, i.e. video, are coded using MPEG (usually MPEG 4). JPEG is based on the principle of macroblock to macroblock comparison. MPEG adds in image to image/frame to frame comparison and motion estimation. Image comparison is based on I frames, P frames and B frames. I frames are encoded as still images and are not dependent on any reference frames. P frames depend on the previously displayed reference frame and B frames depend on previous and future reference frames. I frame coding is sometimes described as intracoding (literally, coding within), P and B frame coding is sometimes described as intercoding (literally, coding between). In MPEG 1 and MPEG2, the macroblock sizes are fixed. In MPEG4, the macroblocks can be subdivided or sliced and become part of a more complex encode/decode process involving shape coding, texture coding and motion-estimation coding. Motion-estimation coding predicts the contents of each macroblock based on the motion relative to a reference frame. The motion vectors and the difference between the predicted and actual macroblock pixels are encoded. The way this search and comparison algorithm is implemented by different vendors can make a substantially impact on the performance of the whole encode/decode process. Search techniques include cross-searching, step searching, diamond searching. Match- ing techniques include sum of absolute differ