MPEG - History MPEG (Moving Pictures Experts Group) was established 1988 by ISO as a research group to create standard for the coded representation of moving pictures and associated audio to be stored on digital storage media. Mainly based in German at Fraunhofer Institute (IIS), MPEG submitted its research to ISO : 1993 : MPEG phase 1 (IS 11172-3) 1994 : MPEG phase 2 (IS 13818-3) 1997 : MPEG phase 2.5 (IS 13818-7) 1998 : MPEG phase 4 (IS 14496-3) 2001 : MPEG phase 7 MPEG1 is used in VCD (Video Compact Disc) technology, while Super VCD and DVD (Digital Versatile Disc) are using MPEG2. MPEG4 emphasis on functionality rather than new compression technology, while MPEG7 is a content representation standard.
MPEG phase 1 <ul><li>1993 : MPEG1 (IS 11172) </li></ul><ul><li>Coding of moving pictures and associated audio for digital storage media at up to about 1.5 Mbit/s (VCD is using 1.15 Mbit/s) </li></ul><ul><li>IS 11172-1 : System, describe synchronization and multiplexing of audio and video signals </li></ul><ul><li>IS 11172-2 Video, describe compression of non-interlaced video signals </li></ul><ul><li>IS 11172-3 Sound, describe compression of audio signals </li></ul><ul><li>IS 11172-4 Compliance Testing, describe procedures for determining the characteristics of coded bitstreams and decoding process </li></ul><ul><li>IS 11172-5 Software Simulation </li></ul><ul><li>Video format : 352x240 SIF (Source Input Format) </li></ul><ul><li>Audio : 64/128/192 kbits/channel </li></ul>
MPEG phase 1 MPEG1 handle video (moving picture) and audio separately, since they both have different characteristic and we use different sense to accept both information (eye for video and ear for audio) with their own limitation. IS 11172-1 Video Audio Sync IS 11172-2 IS 11172-3
MPEG1 – Video Spatial Compression This kind of compression only removes redundant information within one frame, and one of the properties of video signals is that there is much redundant information repeated from frame to frame. More compression can be achieved by not re-transmitting these static portions of the picture..
MPEG1 – Video step 1 Sampling Chrominance Information The first of several steps in MPEG1-Video compression is to translate the information in the picture into the frequency domain. The RGB (red, green and blue) intensity information in each pixel is translated into luminance/brightness values (Y), as well color vectors (U, V). The chrominance information can then be subsampled. 4:4:4 chrominance and luminance planes are sampled at the same resolution 4:2:2 chrominance planes are subsampled at half resolution (horizontally) 4:2:0 chrominance information is subsampled at half the rate (vertically and horizontally) After the RGB to YUV conversion, pixels are grouped together into rectangular areas called blocks and groups of blocks called macro-blocks.
MPEG1 – Video step 2 Space to Frequency Domain Just like JPEG Image Compression, these blocks are then translated into frequency information using a Discrete Cosine Transform, similar to the more familiar Fourier transform. This yields a series of coefficients indicating the magnitude of cosine functions at increasing frequencies from DC coefficient (upper left value) to sequence of AC coefficient.
MPEG1 – Video step 3 Quantization and Entropy Coding The quantization step truncates some of the least significant bits of information, making some AC coefficients go to zero. This is then entropy coded, a system that converts the coefficients into variable bit-length codes with the most common coefficients being coded with the fewest number of bits. This coding scheme is called Huffman encoding. MPEG and JPEG use a special form of two-dimensional Huffman code that also encodes the number of zero coefficients preceding the encoded value. The DC coefficient is also encoded as the difference from the last sample by subtracting it from the last one (DPCM coding).
MPEG1 – Video Temporal Compression Some blocks can be predicted from blocks in previous frames. Frames that contain these predicted blocks are called P-frames. What happens if transmission errors occur in a sequence of P-frames? What happens if the first frame of a video sequence is lost? To avoid the propagation of errors, and allow resynchronization, a complete frame that does not rely on information from other frames is periodically transmitted (approximately once every 12 frames, or 2 to 3 times a second). These stand-alone frames are named intra-coded or I-frames. There is also a third kind of frame, which borrows information/blocks from frames that occur both before and after it. These bi-directional frames are called B-frames.
MPEG1 – Video Temporal Compression This process can be taken one step further by encoding motion vectors so that only portions of a picture that move, or can be borrowed from other locations in previous frames of the video, are encoded using fewer bits. To do this, the 8x8 pixel blocks are grouped into fours to create 16xl6 macroblocks. Macroblocks that do not change are not re-encoded in subsequent frames. With P-frames, the encoder searches the previous frame (or frames before and after for B-frames) in half-pixel increments for other macroblock locations that are a close match to the information contained in the current macroblock. If no adequate matching macroblocks are found in the neighboring region, the macroblock is intra-coded and the DCT coefficients are fully encoded. If an adequate matching macroblock is found in the search region (which is dictated both by the search algorithm and the speed of the encoder), the full coefficients are not transmitted, but a motion vector is used instead to point to the similar block(s). The decoder then uses information from the other frame when decoding the current frame. In this fashion, the full DCT coefficients for the block do not need to be translated and transmission bits are saved.