Image Compression Using DCT: - Rohan Kumar Sinha - Raghavendra Karthik D - Bijay Kalikotay

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 22

Image Compression Using

DCT
-Rohan Kumar Sinha
-Raghavendra Karthik D
-Bijay Kalikotay
Introduction
 Discrete cosine transform (DCT) is widely
used in image processing, especially for
compression.
 Some of the applications of two-dimensional

DCT involve still image compression and


compression of individual video frames.
 Multidimensional DCT is mostly used for

compression of video streams.


 DCT is also useful for transferring

multidimensional data to frequency domain.


Introduction continued…
 Hardware implementation of parallel DCT
transform is possible, that would give higher
throughput than software solutions.
 As 2-D DCT algorithms are the most typical

for image compression, the main focus of


this chapter will be on the efficient hardware
implementations of 2-D DCT based
compression by
-decreasing the number of computations
-increasing the accuracy of reconstruction
-reducing the chip area
Introduction continued…
 There are several methods of Image
compression available today,
These fall into 2 categories
-Lossless
-Lossy
The Process
The Process continued….
 1.The image is broken into 8*8 blocks of pixels.
 2. Working from left to right, top to bottom, the
DCT is applies to each block.
 3. Each block is compressed through
quantization.
 4.The array of compressed blocks that constitute
the image is stored in a drastically reduced
amount of space.
 5. When desired the image is constructed
through decompression, a process that uses the
Inverse Discrete Cosine Transform(IDCT).
Image compression(DCT)
 An image compression system has three main
blocks.
 – a transform (usually DCT on 8x8 blocks)
 – a quantizer
 – a lossless (entropy) coder
 Each tries to throw away information which is

not essential to understand the image, but


costs bits.
DCT( mathematical approach)
QUANTIZATION
• it is a function of this type
– inputs in a given range are mapped
to the same output
• to implement this, we
– 1) define a quantizer step size Q
– 2) apply a rounding function

⎛x⎞
⎝Q⎠
– the larger the Q, the less reconstruction levels we have
– more compression at the cost of larger distortion
– e.g. for x in [0,255], we need 8 bits and have 256 color values
– with Q = 64, we only have 4 levels and only need 2 bits
11
Quantizer
• note that we can quantize some frequency coefficients
more heavily than others by simply increasing Q
• this leads to the idea of a quantization matrix
• we start with an image block (e.g. 8x8 pixels)

12
Quantizer
• next we apply a transform (e.g. 8x8 DCT)

DCT

13
Quantizer
• and quantize with a varying Q

DCT

Q mtx

14
Quantizer
• note that higher frequencies are quantized more heavily
Q mtx
increasing frequency

– in result, many high frequency coefficients are simply wiped out


DCT quantized DCT

15
Conclusions

 DCT as application example


 Create multiple implementations from a

single description
 Helps to explore tradeoffs among accuracy,

area, latency and throughput


 Designers can concentrate on higher level

algorithmic issues
 Reduces turnaround time, improves

productivity

You might also like