420 likes | 894 Views
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 ?.
E N D
JPEG Marco FuentesGarcía Francisco GeaMartí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
Whydoweneedimagecompression? • 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/pxwithoutcompressiontakes 800x600x24 = 1.4 MB
The aim of compressingimages: Reduce the size • Imagecompression: Reduce the amount of data keeping the information
Lossless and lossy compression • In many applications the compression is only acceptable from the point of view of error-free data reduction • Medical imaging, satellite, legal documents… • in others, small loss of information can lead to a compression efficiency • Internet, multimedia, FAX…
Compression • Lossly • The imageobtainedafterdecompressionhaserror • Lossless • Compressionpreserve the data. It is possible to decompress the imagewithouterror
What is JPEG? • JPEG (JointPhotographicExperts Group) definesvariousstandards for monochromatic and colorimages • Eachstandardusesdifferentscompressionmethods:
JPEG, JFIF and SPIFF • JPEG definessomecompressionmethods • Eric Hamilton created JFIF (JPEG FileInterchangeFormat) • JPEG fileusuallymeans JPEG file in JFIF format • Later, SPIFF replaced JFIF
Steps of compressions • The encoding process consists of several steps: • The representation of the colors in the image is converted from RGB to Y′CBCR, consisting of one luma component (Y'), representing brightness, and two chroma components, (CB and CR). • The image is split into blocks of 8×8 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 8×8 blocks is further compressed with a lossless algorithm, a variant of Huffman encoding
RGB -> YUV JFIF usage of JPEG allowsY’CbCrwhere Y’, Cb and Crhave 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 definequantizationtable
DCT • DCT 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.
Quantization • The 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 chromasubsampling) 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:
Entropycoding • Entropy coding is a special form of lossless 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 using Huffman coding on 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 • Huffmancode: −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
Decoding • Decoding 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 pixelrow • y is the pixelcolumn • F_u,v is the reconstructedapproximatecoeffiecient at coordinates (u,v) • f_u,v is the reconstructedpixelvalue 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
http://www.youtube.com/watch?v=Fk6kV5N1rzs&feature=player_embeddedhttp://www.youtube.com/watch?v=Fk6kV5N1rzs&feature=player_embedded
http://es.wikipedia.org/wiki/Joint_Photographic_Experts_Grouphttp://es.wikipedia.org/wiki/Joint_Photographic_Experts_Group • http://en.wikipedia.org/wiki/JPEG • http://www.slideshare.net/MonicaCunalata/jpeg-compresion • http://www.escet.urjc.es/~visiona/tema8.pdf