SlideShare a Scribd company logo
10
Most read
11
Most read
12
Most read
1
JPEG Compression
JPEG Compression
• JPEG compression is lossy, such that the original image cannot be
exactly reconstructed (although a "Lossless JPEG" specification exists
as well).
• JPEG exploits the characteristics of human vision, eliminating or
reducing data to which the eye is less sensitive. JPEG works well on
grayscale and color images, especially on photographs, but it is not
intended for two-tone images.
2
Basic Idea behind compression (JPEG)
• Our eyes is highly sensitive to intensity(grayscale) information and less
sensitive to color information.
• Again we are more sensitive to low frequency intensity value and less
sensitive to high frequency intensity value.
3
The key for any compression technique
• Compression at block level
• Using suitable transformation
• Smart quantization
• Entropy coding
4
The Key for JPEG Compression Technique
• Compression at block level : split image into non-overlapping blocks
where each block is 8X8 pixels in size.
• Using suitable transformation: compute DCT for each block
• Smart quantization: quantize DCT coefficients according to psych visually
tuned tables(pre defined quantization table)
• Entropy coding: finally the resulting bit stream is coded using run length
coding and Huffman coding
5
JPEG compression pipeline
6
Step 1: Color Conversion
• First the RGB image is converted to YCrCb (like in a television). Here Y is the
luminance or grayscale and CrCb is the chrominance or color (blue and red).
• The equations to do this: Y=0.299(R-G) + G + 0.114(B-G) Cb=0.564(B-Y) Cr=0.713(R-
Y)
• As human eyes are less sensitive to color information it is possible to reduce the
amount of information in CrCb channel without losing significant visual quality.
• In general, jpeg down sample by 2 in each direction. Means that the color information is
down sampled by 4 (4 times less color than the original one).
• Then this down sampled data is passed to next phase that is DCT.
7
Step 2: Preprocessing for DCT
• At step 2 which is preprocessing for DCT, first the image is separated into
non-overlapping blocks where each block is 8X8 pixels (64 pixels per
block).
• Then normalize the pixels value to -128 to 127 from 0 to 255, just by
subtracting 128 from each pixel value.
Fig. 1: Separating image into blocks Fig. 2: Normalization
8
Step 3: Discrete Cosine Transformation
• At step 3: each block is separately encoded with its own discrete cosine
transform. (actually jpeg uses DCT type II)
• So, after DCT we have exactly 64 cosine waves for each block, mean that
each pixels is replaced with a equivalent cosine wave.
• DCT is reversible means we can recover full data without loss.
• The DCT creates a new representation of image where it is easy to
separate important and less important pixels of the images.
[Details of DCT operation is given at the end of presentation]
9
Step 4: Quantization
• This is where the data is compressed in great extent. After performing DCT, we
apply quantization on it to remove the high frequency components. This is the real
data compression part of jpeg.
• For quantizing the DCT transformed data, jpeg use a predefined quantization table.
The amount of compression is dependent on the choice of quantization table.
• This quantization is non reversible meaning that we cant recover the original data
with out loss.
10
Step 5: Zig Zag Scanning
• Then, the quantized data is further processed using zig zag coding or scanning. This is
done to separate the DC and AC components. The first element in each 64x1 array
represents the DC coefficient from the DCT matrix, and the remaining 63 coefficients
represent the AC components.
• Then the DC components are coded using DPCM and Ac components using running
length coding.
Fig.1: Data after performing quantization Fig.2: Zig Zag scanning
11
Step 6: Coding of DC and AC coefficients
• DPCM Coding for DC components: DC components represent the intensity of
each 8x8 pixel block. The DC coefficient of any given input block is fairly
unpredictable by itself. However, significant correlation exists between the DC
components of adjacent blocks. That is, we can predict the DC coefficient value
of current block from the DC value of previous block. So, we can further
compress data.
• By using a differential prediction model (DPCM), we can increase the probability
that the value we encode will be small, and thus reduce the number of bits in the
compressed image. To obtain the coding value we simply subtract the DC
coefficient of the previously processed 8x8 pixel block from the DC coefficient of
the current block. This value is called the "DPCM difference
12
Step 6: Coding of DC and AC coefficients
• Run length coding of AC components: Because the values of the AC coefficients
tend towards zero after the quantization step, these coefficients are run-length
encoded. The concept of run-length encoding is a straightforward principle.
• The quantized output of the DCT blocks produces many zero-value bytes.
Instead of coding each zero individually, we simply encode the number of zeros in
a given 'run.' This run-length coded information is then variable-length coded
(VLC), usually using Huffman codes.
13
Step 7: Huffman Coding
• Finally, the final bit stream is coded using the Huffman coding which is the
desired output.
14
What does the DCT do?
• Let us work on an example, where we will use the following set
A = {1, 2, 3, 4, 5, 6, 7, 8}.
• The set has 8 elements, so n is 8. As you know, in computer science we love to
use the powers of two. Moreover, numbers in the set are correlated, an obvious
pattern, incremented by one. It is time to compute DCT coefficients.
• There are 8 numbers in the set A, so there will be 8 DCT coefficients in the
frequency domain. If you use the DCT formula above and compute the
coefficients for k =0, 1, 2, 3, 4, 5, 6, 7, you will see that the DCT coefficients are:
wA = {12.7279, -6.4423, 0, -0.6735, 0, -0.2009, 0, -0.0507}
15
• Let us talk about the values of the coefficients we computed. The DC coefficient,
w0, is 12.7279. The low-frequency coefficient, w1, is -6.4423. As you see the high-
frequency coefficients are small numbers. This is something we expected
because we have correlated numbers in the set A.
• If you compute DCT coefficients of a set elements where the numbers are not
correlated, we cannot say anything about the values of the coefficients. All may
be large numbers.
• Anyway, let’s go back to our example. We know that if the value of a coefficient is
small, it does not carry much information, so we can ignore the coefficients with
absolute values smaller than one.
• We now have wA = {12.7279, -6.4423, 0, 0, 0, 0, 0, 0}
What does the DCT do?
16
• If you compute DCT coefficients of a set elements where the numbers are
correlated, then the numbers are small.
• If you compute DCT coefficients of a set elements where the numbers are not
correlated, we cannot say anything about the values of the coefficients. All may
be large numbers.
• Again, small numbers(low intensity values) of image are represented by high-
frequency coefficients in DCT representation. And the large numbers(high
intensity values) are represented by low frequency coefficients in DCT
representation.
• So low frequency coefficients in DCT means high intensity value or correlated
data (or both). Which is not important.
What does the DCT do?
17
References:
1. http://www.eetimes.com/document.asp?doc_id=1225736
2. http://www.whydomath.org/node/wavlets/basicjpg.html
3. https://www.youtube.com/watch?v=Q2aEzeMDHMA&index=2&list=PL6rAVfCVE0e7yDuFhWXq
4_gf178iiwxZ9
4. https://www.youtube.com/watch?v=n_uNPbdenRs
18

More Related Content

PPTX
PPT
Audio and video streaming
PDF
Digital Image Processing - Image Compression
PPSX
Image Processing: Spatial filters
PPTX
Real time operating systems (rtos) concepts 1
PDF
Broadcast Lens Technology Part 1
PPTX
Image compression standards
PPSX
Color Image Processing: Basics
Audio and video streaming
Digital Image Processing - Image Compression
Image Processing: Spatial filters
Real time operating systems (rtos) concepts 1
Broadcast Lens Technology Part 1
Image compression standards
Color Image Processing: Basics

What's hot (20)

PPTX
JPEG Image Compression
PDF
Image compression
PDF
Compression: Images (JPEG)
PPTX
PPT
Lzw coding technique for image compression
PPTX
Image compression in digital image processing
PPT
Data Redundacy
ODP
image compression ppt
PPTX
Image compression .
PPTX
Lzw
PPTX
Predictive coding
 
PPT
Enhancement in spatial domain
PPTX
JPEG
PPSX
Edge Detection and Segmentation
PPTX
Chapter 8 image compression
PPT
Chapter10 image segmentation
PPTX
Fundamentals and image compression models
PPTX
Image restoration and degradation model
PPT
Introduction to Video Compression Techniques - Anurag Jain
PPT
Video Compression Basics - MPEG2
JPEG Image Compression
Image compression
Compression: Images (JPEG)
Lzw coding technique for image compression
Image compression in digital image processing
Data Redundacy
image compression ppt
Image compression .
Lzw
Predictive coding
 
Enhancement in spatial domain
JPEG
Edge Detection and Segmentation
Chapter 8 image compression
Chapter10 image segmentation
Fundamentals and image compression models
Image restoration and degradation model
Introduction to Video Compression Techniques - Anurag Jain
Video Compression Basics - MPEG2
Ad

Similar to Jpeg compression (20)

PPTX
Jpeg standards
PDF
Compression using JPEG
PPTX
JPEG and MPEG Compression in Digital Image Processing.pptx
DOC
image compression in data compression
PPT
image processing for jpeg presentati.ppt
PPTX
Data compression
PPTX
Image compression Algorithms
PDF
Multimedia communication jpeg
PPTX
Comparison between JPEG(DCT) and JPEG 2000(DWT) compression standards
PPT
Multimedia image compression standards
PPTX
PDF
Pipelined Architecture of 2D-DCT, Quantization and ZigZag Process for JPEG Im...
PPTX
lossy compression JPEG
PDF
PIPELINED ARCHITECTURE OF 2D-DCT, QUANTIZATION AND ZIGZAG PROCESS FOR JPEG IM...
ODP
MPEG-1 Part 2 Video Encoding
PPT
Image Compression Digital Image processing
PPTX
RNN-LSTM.pptx
PPT
project ppt on anti counterfeiting technique for credit card transaction system
PDF
Video Compression Basics
PDF
Steganography Part 2
Jpeg standards
Compression using JPEG
JPEG and MPEG Compression in Digital Image Processing.pptx
image compression in data compression
image processing for jpeg presentati.ppt
Data compression
Image compression Algorithms
Multimedia communication jpeg
Comparison between JPEG(DCT) and JPEG 2000(DWT) compression standards
Multimedia image compression standards
Pipelined Architecture of 2D-DCT, Quantization and ZigZag Process for JPEG Im...
lossy compression JPEG
PIPELINED ARCHITECTURE OF 2D-DCT, QUANTIZATION AND ZIGZAG PROCESS FOR JPEG IM...
MPEG-1 Part 2 Video Encoding
Image Compression Digital Image processing
RNN-LSTM.pptx
project ppt on anti counterfeiting technique for credit card transaction system
Video Compression Basics
Steganography Part 2
Ad

More from Hossain Md Shakhawat (20)

PPTX
Recipe for the effective presentaion
PPTX
The Road to Higher study in Japan
PPT
Application of dfs
PPT
Breadth first search and depth first search
PPTX
Islamic jurisprudence
PPTX
Introduction to Medical Imaging
PPTX
Surah Fatiha
PPT
PPT
Decision making and looping
PPT
Decision making and branching
PPT
Digital signature
PPT
Caesar cipher
PPT
Rsa rivest shamir adleman
PPT
Fundamentals of cryptography
PPT
Introduction to programming with c,
PPT
Introduction to digital image processing
PPT
History of computing
PPT
Introduction to Printers
PPT
Input devices_(Mouse and Keyboard)
PPT
Binary search tree(bst)
Recipe for the effective presentaion
The Road to Higher study in Japan
Application of dfs
Breadth first search and depth first search
Islamic jurisprudence
Introduction to Medical Imaging
Surah Fatiha
Decision making and looping
Decision making and branching
Digital signature
Caesar cipher
Rsa rivest shamir adleman
Fundamentals of cryptography
Introduction to programming with c,
Introduction to digital image processing
History of computing
Introduction to Printers
Input devices_(Mouse and Keyboard)
Binary search tree(bst)

Recently uploaded (20)

PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
Pre independence Education in Inndia.pdf
PPTX
Cell Types and Its function , kingdom of life
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PPTX
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PDF
TR - Agricultural Crops Production NC III.pdf
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPTX
Cell Structure & Organelles in detailed.
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PPTX
Week 4 Term 3 Study Techniques revisited.pptx
 
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
Pre independence Education in Inndia.pdf
Cell Types and Its function , kingdom of life
Final Presentation General Medicine 03-08-2024.pptx
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
Anesthesia in Laparoscopic Surgery in India
STATICS OF THE RIGID BODIES Hibbelers.pdf
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Supply Chain Operations Speaking Notes -ICLT Program
Abdominal Access Techniques with Prof. Dr. R K Mishra
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
FourierSeries-QuestionsWithAnswers(Part-A).pdf
human mycosis Human fungal infections are called human mycosis..pptx
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Renaissance Architecture: A Journey from Faith to Humanism
TR - Agricultural Crops Production NC III.pdf
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Cell Structure & Organelles in detailed.
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Week 4 Term 3 Study Techniques revisited.pptx
 

Jpeg compression

  • 2. JPEG Compression • JPEG compression is lossy, such that the original image cannot be exactly reconstructed (although a "Lossless JPEG" specification exists as well). • JPEG exploits the characteristics of human vision, eliminating or reducing data to which the eye is less sensitive. JPEG works well on grayscale and color images, especially on photographs, but it is not intended for two-tone images. 2
  • 3. Basic Idea behind compression (JPEG) • Our eyes is highly sensitive to intensity(grayscale) information and less sensitive to color information. • Again we are more sensitive to low frequency intensity value and less sensitive to high frequency intensity value. 3
  • 4. The key for any compression technique • Compression at block level • Using suitable transformation • Smart quantization • Entropy coding 4
  • 5. The Key for JPEG Compression Technique • Compression at block level : split image into non-overlapping blocks where each block is 8X8 pixels in size. • Using suitable transformation: compute DCT for each block • Smart quantization: quantize DCT coefficients according to psych visually tuned tables(pre defined quantization table) • Entropy coding: finally the resulting bit stream is coded using run length coding and Huffman coding 5
  • 7. Step 1: Color Conversion • First the RGB image is converted to YCrCb (like in a television). Here Y is the luminance or grayscale and CrCb is the chrominance or color (blue and red). • The equations to do this: Y=0.299(R-G) + G + 0.114(B-G) Cb=0.564(B-Y) Cr=0.713(R- Y) • As human eyes are less sensitive to color information it is possible to reduce the amount of information in CrCb channel without losing significant visual quality. • In general, jpeg down sample by 2 in each direction. Means that the color information is down sampled by 4 (4 times less color than the original one). • Then this down sampled data is passed to next phase that is DCT. 7
  • 8. Step 2: Preprocessing for DCT • At step 2 which is preprocessing for DCT, first the image is separated into non-overlapping blocks where each block is 8X8 pixels (64 pixels per block). • Then normalize the pixels value to -128 to 127 from 0 to 255, just by subtracting 128 from each pixel value. Fig. 1: Separating image into blocks Fig. 2: Normalization 8
  • 9. Step 3: Discrete Cosine Transformation • At step 3: each block is separately encoded with its own discrete cosine transform. (actually jpeg uses DCT type II) • So, after DCT we have exactly 64 cosine waves for each block, mean that each pixels is replaced with a equivalent cosine wave. • DCT is reversible means we can recover full data without loss. • The DCT creates a new representation of image where it is easy to separate important and less important pixels of the images. [Details of DCT operation is given at the end of presentation] 9
  • 10. Step 4: Quantization • This is where the data is compressed in great extent. After performing DCT, we apply quantization on it to remove the high frequency components. This is the real data compression part of jpeg. • For quantizing the DCT transformed data, jpeg use a predefined quantization table. The amount of compression is dependent on the choice of quantization table. • This quantization is non reversible meaning that we cant recover the original data with out loss. 10
  • 11. Step 5: Zig Zag Scanning • Then, the quantized data is further processed using zig zag coding or scanning. This is done to separate the DC and AC components. The first element in each 64x1 array represents the DC coefficient from the DCT matrix, and the remaining 63 coefficients represent the AC components. • Then the DC components are coded using DPCM and Ac components using running length coding. Fig.1: Data after performing quantization Fig.2: Zig Zag scanning 11
  • 12. Step 6: Coding of DC and AC coefficients • DPCM Coding for DC components: DC components represent the intensity of each 8x8 pixel block. The DC coefficient of any given input block is fairly unpredictable by itself. However, significant correlation exists between the DC components of adjacent blocks. That is, we can predict the DC coefficient value of current block from the DC value of previous block. So, we can further compress data. • By using a differential prediction model (DPCM), we can increase the probability that the value we encode will be small, and thus reduce the number of bits in the compressed image. To obtain the coding value we simply subtract the DC coefficient of the previously processed 8x8 pixel block from the DC coefficient of the current block. This value is called the "DPCM difference 12
  • 13. Step 6: Coding of DC and AC coefficients • Run length coding of AC components: Because the values of the AC coefficients tend towards zero after the quantization step, these coefficients are run-length encoded. The concept of run-length encoding is a straightforward principle. • The quantized output of the DCT blocks produces many zero-value bytes. Instead of coding each zero individually, we simply encode the number of zeros in a given 'run.' This run-length coded information is then variable-length coded (VLC), usually using Huffman codes. 13
  • 14. Step 7: Huffman Coding • Finally, the final bit stream is coded using the Huffman coding which is the desired output. 14
  • 15. What does the DCT do? • Let us work on an example, where we will use the following set A = {1, 2, 3, 4, 5, 6, 7, 8}. • The set has 8 elements, so n is 8. As you know, in computer science we love to use the powers of two. Moreover, numbers in the set are correlated, an obvious pattern, incremented by one. It is time to compute DCT coefficients. • There are 8 numbers in the set A, so there will be 8 DCT coefficients in the frequency domain. If you use the DCT formula above and compute the coefficients for k =0, 1, 2, 3, 4, 5, 6, 7, you will see that the DCT coefficients are: wA = {12.7279, -6.4423, 0, -0.6735, 0, -0.2009, 0, -0.0507} 15
  • 16. • Let us talk about the values of the coefficients we computed. The DC coefficient, w0, is 12.7279. The low-frequency coefficient, w1, is -6.4423. As you see the high- frequency coefficients are small numbers. This is something we expected because we have correlated numbers in the set A. • If you compute DCT coefficients of a set elements where the numbers are not correlated, we cannot say anything about the values of the coefficients. All may be large numbers. • Anyway, let’s go back to our example. We know that if the value of a coefficient is small, it does not carry much information, so we can ignore the coefficients with absolute values smaller than one. • We now have wA = {12.7279, -6.4423, 0, 0, 0, 0, 0, 0} What does the DCT do? 16
  • 17. • If you compute DCT coefficients of a set elements where the numbers are correlated, then the numbers are small. • If you compute DCT coefficients of a set elements where the numbers are not correlated, we cannot say anything about the values of the coefficients. All may be large numbers. • Again, small numbers(low intensity values) of image are represented by high- frequency coefficients in DCT representation. And the large numbers(high intensity values) are represented by low frequency coefficients in DCT representation. • So low frequency coefficients in DCT means high intensity value or correlated data (or both). Which is not important. What does the DCT do? 17
  • 18. References: 1. http://www.eetimes.com/document.asp?doc_id=1225736 2. http://www.whydomath.org/node/wavlets/basicjpg.html 3. https://www.youtube.com/watch?v=Q2aEzeMDHMA&index=2&list=PL6rAVfCVE0e7yDuFhWXq 4_gf178iiwxZ9 4. https://www.youtube.com/watch?v=n_uNPbdenRs 18