360 likes | 535 Views
Multimedia. Image Compression. Coding Techniques – Hybrid. Hybrid coding. Images: JPEG Video/Audio MJPEG MPEG (1, 2, 4) Other codings H.26x. Image Compression. Image files may be too big for network transmission, even at low resolutions.
E N D
Multimedia Image Compression T.Sharon-A.Frank
Coding Techniques – Hybrid T.Sharon-A.Frank
Hybrid coding • Images: • JPEG • Video/Audio • MJPEG • MPEG (1, 2, 4) • Other codings • H.26x T.Sharon-A.Frank
Image Compression • Image files may be too big for network transmission, even at low resolutions. • Use more sophisticated data representation or discard information to reduce data size. • Effectiveness of compression will depend on actual image data. • For any compression scheme, there will always be some data for which 'compressed' version is actually bigger than the original.
Compression Steps PictureProcessing PicturePreparation Quanti-zation EntropyEncoding 1.Preparation: analog to digital conversion. 2.Processing: transform data into a domain easier to compress. 3.Quantization: reduce precision at which the output is stored. 4.Entropy encoding: remove redundant information in the resulting data stream. Image Uncompressed Image Compressed T.Sharon-A.Frank
Goals: Support still images True color/grayscale Continuous-tone pictures Usually lossy Subjects: Quality Steps Modes JPEG Joint Photographic Experts Group T.Sharon-A.Frank
JPEG Picture Quality • 0.25 – 0.5bits/pixel Moderate to good quality. • 0.5 – 0.75 bits/pixel Good to very good quality. • 0.75 – 1.5 bits/pixel Excellent quality. • 1.5 – 2.0 bits/pixel Usually indistinguishable from the original. T.Sharon-A.Frank
JPEG Compression • Lossy technique, well suited to photographs, images with fine detail and continuous tones. • Consider image as a spatially varying signal that can be analysed in the frequency domain. • Experimental fact: people do not perceive the effect of high frequencies in images veryaccurately. • Hence, high frequency information can bediscarded without perceptible loss of quality.
Stage 1: Image Preparation Components Top Samples * * * * * * * * * * * Line Right Left Yj Cn Xi C2 C1 1<= n <=255, usually 3 Bottom T.Sharon-A.Frank
3 components having the same resolution X X X A1 A2 B1 B2 C1 C2 Y Y Y An Bn Cn T.Sharon-A.Frank
3 components having different resolution X X/2 X/2 A1 A2 B1 B2 C1 C2 Y Y Y An Bn/2 Cn/2 T.Sharon-A.Frank
Changing Resolution • If image resolution < output device resolution, must interpolate extra pixels • Always leads to loss of quality. • If image resolution > output device resolution, must downsample (discard pixels): • Quality will often be better than that of an image at device resolution (uses more information). • Image sampled at a higher resolution than that of intended output device is over sampled.
Block Preparation (a) RGB input data. (b) After block preparation. T.Sharon-A.Frank
Non Interleaved Order of Data Units Top MCU = Minimum Coded Unit * * * * * * * * * * * * * * * * * * * * * * * * Right Left * * * * * * * * * * * * * * * * Bottom T.Sharon-A.Frank
Interleaved Data Units 0 1 2 3 4 5 0 1 2 0 1 2 * * * * * * * * * * * * * * * * * * 0 1 2 3 * * * 0 1 2 3 0 1 * * * * * * * * * * * * * * * * * * * * * 0 1 2 3 4 5 * * * * * * 0 1 * * * * * * T.Sharon-A.Frank
Stage 2: Image Processing • Using DCT (Discrete Cosine Transform) • Convert from Spatial to Frequency Domain • Input : 8x8 matrix of 64 values • Output: • 1 DC value (basic color of block = average color) • 63 AC values • low frequency coefficients, have high values • high frequency coefficients – represent sharp edges, have low values T.Sharon-A.Frank
Discrete Cosine Transform (DCT) • A Fourier-related transform similar to the Discrete Fourier Transform (DFT), but using only real numbers. • Often used in signal and image processing. • Maps values from spatial domain to frequency domain – image areas with low frequency (large blocks of single color) are compressed more efficiently. • Used in JPEG, MJPEG, MPEG, and DV Compression. T.Sharon-A.Frank
DCT Dynamics • Analyses asignalinto its frequency components. • Takes array of pixel values, produces an array of coefficients of frequency components in the image. • Computationally expensive process – time proportional to square of number of pixels. • Usually applied to 8x8 blocks of pixels.
JPEG: DCT-Based Encoder 8x8 blocks FDCT Quantizer EntropyEncoder CompressedImage Data SourceImage Data TableSpecification TableSpecification T.Sharon-A.Frank
Preparation of DC Coefficients DCi-1 DCi Blocki-1 Blocki DIFF=DCi-DCi-1 T.Sharon-A.Frank
DCT Transformation (a) One block of the Y matrix. (b) The DCT coefficients. T.Sharon-A.Frank
Preparation of AC Coefficients DC AC01 AC07 Zig-Zag Sequence AC70 AC77 T.Sharon-A.Frank
Probability Distribution of DCT Coefficients 1.0 Probabilityof being nonzero 0.5 0.0 8 16 24 32 40 48 56 77 Zigzag index T.Sharon-A.Frank
Next Stages • Stage 3: Quantization Based on quantization table: • Quantization table: values from 1 to 255 • DCT coefficient/Table value • If value > 0, keep DCT coefficient else, don’t keep DCT coefficient • Stage 4: Entropy Encoding T.Sharon-A.Frank
JPEG Quantization • Applying DCT does not reduce data size • Array of coefficients is same size as array of pixels. • Allows information about high frequencycomponents to be identified and discarded. • Use fewer bits (distinguish fewer differentvalues) for higher frequency components. • Number of levels for each frequencycoefficientmay be specified separately in a quantizationmatrix.
Computation of the quantized DCT coefficients T.Sharon-A.Frank
Order in which the quantized values are transmitted T.Sharon-A.Frank
JPEG Entropy Encoding • After quantization, there will be many zero coefficients. • Use RLE on zig-zag sequence (maximizes runs). • Use Huffman coding of other coefficients (bestuse of available bits).
Steps of JPEG Compression Picture Preparation Picture Processing Quantization Entropy Encoding Run-Length Pixel Predictor Huffman Block, MCU FDCT Arithmetic Steps taking into account the different JPEG modes T.Sharon-A.Frank
JPEG Decompression • Expand runs of zeros and decompress Huffman-encoded coefficients to reconstruct array of frequency coefficients. • Use Inverse Discrete Cosine Transform to take data back from frequency to spatial domain. • Data discarded in quantization step of compression procedure cannot be recovered. • Reconstructed image is an approximation (usually very good) to the original image.
JPEG: DCT-Based Decoder Compressed Image Data Dequantizer IDCT EntropyEncoder Reconstructed Image Data TableSpecification TableSpecification T.Sharon-A.Frank
JPEG Modes of Operation • Lossless Encoding: the image is encoded to guarantee exact recovery of every source image sample value (low compression ratio). • Sequential Encoding: each image is encoded in a single left-to-right, top-to-bottom scan. • Progressive Encoding: the image is encoded in multiple scans for applications in which transmission time is long. • Hierarchical Encoding: the image is encoded at multiple resolutions. T.Sharon-A.Frank
Sequential Presentation T.Sharon-A.Frank
Progressive Presentation T.Sharon-A.Frank
Types of image processing in DCT Image display Bits per sample Entropy coding Sequential 8 Huffman coding Sequential 8 Arithmetic coding Sequential 12 Huffman coding Sequential 12 Arithmetic coding Progressive successive 8 Huffman coding Progressive spectral 8 Huffman coding Progressive successive 8 Arithmetic coding Progressive spectral 8 Arithmetic coding Progressive successive 12 Huffman coding Progressive spectral 12 Huffman coding Progressive successive 12 Arithmetic coding Progressive spectral 12 Arithmetic coding T.Sharon-A.Frank
Hybrid Coding Examples • JPEG • image compression using a discrete cosine transform, then quantization, then Huffman coding. • JPEG 2000 • image compression using wavelets, then quantization, then entropy coding. • MP3 • A part of the MPEG-1 standard for sound and music compression, using subbanding and MDCT, perceptual modeling, quantization, and Huffman coding. T.Sharon-A.Frank