Top Banner

Click here to load reader


Feb 23, 2016




JPEG. Marco Fuentes García Francisco Gea Martínez. Topics. Why do we need image compression ? Lossless and lossy compression Image file formats What is JPEG ? Steps of compressions Effects of JPEG compression. Why do we need image compression ?. - PowerPoint PPT Presentation

Slide 1

JPEGMarco Fuentes GarcaFrancisco Gea MartnezTopicsWhy do we need image compression?Lossless and lossy compressionImage file formatsWhat is JPEG?Steps of compressionsEffects of JPEG compression

Why do we need image compression?there are numerous applications involving processing, storage and transmission of digital images, generating a large number of files of large size

An RGB image 800x600 24 bits/px without compression takes 800x600x24 = 1.4 MBThe aim of compressing images: Reduce the size

Image compression: Reduce the amount of data keeping the information

Lossless and lossy compressionIn many applications the compression is only acceptable from the point of view of error-free data reductionMedical imaging, satellite, legal documents

in others, small loss of information can lead to a compression efficiencyInternet, multimedia, FAXCompressionLosslyThe image obtained after decompression has error

LosslessCompression preserve the data. It is possible to decompress the image without errorImage file formatsFormatReal colorPaletteGrayBitonalCompressionSourceMulti-ImageBitmap (BMP)YesYesYesYesRun-lengthWindowsNoTIFFYesYesYesYesJPG, LZW, Runs, CCITT4, CCITT3, packBitsStandardYesJFIF(JPEG)YesNoYesNoJPEGStandardNoPCXNo YesNoNoOwnWindowsNoPGMNoNoYesNoNoUnixNoGIFNoYesYesYesLZWStandardYesWhat is JPEG?JPEG (Joint Photographic Experts Group) defines various standards for monochromatic and color images

Each standard uses differents compression methods:

StandardAlgorithmJPEG originalTDC + HuffmanJPEG 2000TDW (Wavelets)JPEG LS (Lossless)Lossless prediction + Run-lenghtsJPEG, JFIF and SPIFFJPEG defines some compression methods

Eric Hamilton created JFIF (JPEG File Interchange Format)

JPEG file usually means JPEG file in JFIF format

Later, SPIFF replaced JFIFSteps of compressionsThe encoding process consists of several steps:The representation of the colors in the image is converted from RGB to YCBCR, consisting of one luma component (Y'), representing brightness, and two chroma components, (CB and CR).The image is split into blocks of 88 pixels, and for each block, each of the Y, CB, and CR data undergoes the Discrete Cosine Transform (DCT)The amplitudes of the frequency components are quantized.The resulting data for all 88 blocks is further compressed with a lossless algorithm, a variant of Huffman encoding

Steps of compressions


JFIF usage of JPEG allows YCbCr where Y, Cb and Cr have the full 8-bit range of 0-255.And back:JPEG Format A JPEG image consists of a sequence of segments, each beginning with a marker, each of which begins with a 0xFF byte followed by a byte indicating what kind of marker it is.

After each data marker usually appear two bytes that indicate the length of data containing.Example: FF DB 00 43, Following 43 bytes define quantization table


DCTDCT becomes a set input of a set of coefficients with increasing frequency cosine.Each component of the image is divided into small blocks of 8 8 pixels, which are processed almost independently, which significantly reduces the computation time.

Example:[0,255] -> [-128,127]

The next step is to take the two-dimensional DCT, which is given by:

Top-left corner entry with the rather large magnitude. This is the DC coefficient. The remaining 63 coefficients are called the AC coefficients.

QuantizationThe human eye is good at seeing small differences in brightness over a relatively large area, but not so good at distinguishing the exact strength of a high frequency brightness variation.

This allows one to greatly reduce the amount of information in the high frequency components.

This is done by simply dividing each component in the frequency domain by a constant for that component, and then rounding to the nearest integer.

This rounding operation is the only lossy operation in the whole process (other than chroma subsampling) if the DCT computation is performed with sufficiently high precision.

As a result of this, it is typically the case that many of the higher frequency components are rounded to zero, and many of the rest become small positive or negative numbers, which take many fewer bits to represent.

The elements in the quantization matrix control the compression ratio, with larger values producing greater compression. A typical quantization matrix, as specified in the original JPEG Standard, is as follows:

The quantized DCT coefficients are computed with:

Where G is the unquantized DCT coefficients; Q is the quantization matrix above; and B is the quantized DCT coefficients.

Using this quantization matrix with the DCT coefficient matrix from above results in:

Entropy codingEntropy coding is a special form oflossless data compression.It involves arranging the image components in a "zigzag" order employing run-length encoding(RLE) algorithm that groups similar frequencies together, inserting length coding zeros, and then usingHuffman codingon what is left.


26, 3, 0, 3, 2, 6, 2, 4, 1 4, 1, 1, 5, 1, 2, 1, 1, 1, 2, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

Huffman code: 26, 3, 0, 3, 2, 6, 2, 4, 1 4, 1, 1, 5, 1, 2, 1, 1, 1, 2, 0, 0, 0, 0, 0, 1, 1, EOB

25DecodingDecoding to display the image consists of doing all the above in reverse.Taking the DCT coefficient matrix (after adding the difference of the DC coefficient back in)

and taking the entry-for-entry product with the quantization matrix from above results in

which closely resembles the original DCT coefficient matrix for the top-left portion.

The next step is to take the two-dimensional inverse DCT (a 2D type-III DCT), which is given by:

Where:x is the pixel rowy is the pixel columnF_u,v is the reconstructed approximate coeffiecient at coordinates (u,v)f_u,v is the reconstructed pixel value at coordinates (x,y)

Rounding the output to integer values (since the original had integer values) results in an image with values (still shifted down by 128)

and adding 128 to each entry

This is the decompressed subimage

Effects of JPEG compressionQualitySize (bytes)Compression ratioCommentHighest quality (Q = 100)83,2612.6:1Extremely minor artifacts

QualitySize (bytes)Compression ratioCommentHigh quality (Q = 50)15,13815:1Initial signs of subimage artifacts

QualitySize (bytes)Compression ratioCommentMedium quality (Q = 25)9,55323:1Stronger artifacts; loss of high frequency information

QualitySize (bytes)Compression ratioCommentLow quality (Q = 10)4,78746:1Severe high frequency loss; artifacts on subimage boundaries are obvious

QualitySize (bytes)Compression ratioCommentLowest quality (Q = 1)1,523144:1Extreme loss of color and detail; the leaves are nearly unrecognizable