Title: Discrete Cosine Transform
1- Discrete Cosine Transform
- (DCT)
- Eric Rust
- ESS 522
- Spring/2007
- University of Washington
2References
- International Telecommunication Union,
Information Technology - Digital Compression and
Coding of Continuous-Tone Still Images -
Requirements and Guidelines, T.81 ed. , New York
n.p., 1992. - I. Richardson, Video CODEC Design, New Jersey
John Wiley and Sons Inc., 2002 - Khalid Sayood, Introduction to Data Compression,
Second ed., San Francisco Morgan Kaufmann, 2000.
- W. Pennebaker and J. Mitchell, JPEG Still Image
Data Compression Standard, New York Van Nostrand
Reinhold, 1993. - D. Taubman and M. Marcellin, JPEG2000 Image
Compression Fundamentals, Standards and Practice,
Boston Kluwer Academic Publishers, 2002. - Multiple Wikipedia searches
3Objectives
- Learn where Discrete Cosine Transform (DCT) is
used. - Learn how DCT works
- Experiment in using DCT
-
4Why Did I Choose This?
- We learned Fourier Transform.
- Wanted to show that there are other domains that
may be more useful.
5Where DCT is used
- Data compression
- Image Compression
6Image Compression (why?)
- Common Cameras
- 8 megapixels gt 24MB
- Yahoo!, Hotmail, AOL 10MB
- GMAIL 20MB
- Uploading pictures
- Myspace 5MB
7JPEG
- JPEG - current image compression standard. The
group was organized in 1986, issuing a standard
in 1992 1. - lossy and lossless
- Gif - CompuServe in 1987 2
- Lossless
- png came about because of patent issues with
LZW algorithm - 1 - http//en.wikipedia.org/wiki/JPEG - last
visited on 06/02/2007 - 2 - http//en.wikipedia.org/wiki/GIF - last
visited on 06/02/2007
8JPEG Overview
Current Image
JPEG
Compressed File
9Baseline JPEG CODEC
Level Shift
FDCT
Quant.
Zigzag
DC Pred.
Entropy Encode
Output Buffer
Markers
10The image is divided into 8x8 matrices
Image Division
Matrix image taken from Wikipedia.com
11 Level Shift
- Each pixel has a numeric value representing its
color.
Level Shift
(0,255)
(-128,127)
-Recall that this is done on each individual 8x8
block for each color plane
12DCT II
13Plot of DCT Coefficients
High value coefficients Low frequency
We can eliminate low value coefficients without
losing much image quality
Low value coefficients High frequency
14 FDCT Coefficients
Shifting
8X8 block of pixels
FDCT
Matrix images taken from Wikipedia.com
15Moving into Quant.
Completed
FDCT
Quant.
Zigzag
DC Pred.
Entropy Encode
Level Shift
Output Buffer
Markers
16FDCT Quantization
Common JPEG quantization matrix.
Note that these matrices will change depending
upon what quality you want your compressed image
to be.
17Quantization
FDCT Coefficients
Note that the numbers are rounded which leads to
many zeros
Resulting quantized matrix
Common JPEG quantization matrix.
18Zigzag
Zigzag arranges the DCT coefficients in an array
such that the larger coefficients are grouped
together at the beginning.
19Update on JPEG
FDCT
Quant.
Zigzag
DC Pred.
Entropy Encode
Level Shift
Output Buffer
Markers
20Entropy Encoding
- After quantization, it is not unusual for more
than half of the DCT coefficients to equal
zero1. - JPEG uses Run-Length Encoding to reduce the size
of the file by taking advantage of repeating
characters2 (the zeros). - Huffman coding could be used as well
- ece.perdue.edu
- http//www.eee.bham.ac.uk/WoolleySI/All7/run_1.htm
21DCT
22FT versus DCT
- DFT
- Sines and cosines
- Periodic extension
- DCT
- Cosines
- Periodic and even extension
- DCT
- 4 types of DCT
- (Martucci 1994) shows four of them
- The other four are
23(No Transcript)
24WHY DCT?
- Different boundary conditions strongly affect the
applications of the transform. - Discontinuities in a function reduce the rate of
convergence of the Fourier series, so that more
sinusoids are needed to represent the function
with a given accuracy
25WHY DCT cont.
- The periodicity of the DFT results in
discontinuities usually occur at boundaries - DCT where both boundaries are even always yields
a continuous extension at the boundaries - DCT II is preferred for applications, in part for
reasons of computational convenience.
26Example
0.9ncos(0.1pin), n0,1,2...31
27(No Transcript)
28High-Pass
High value coefficients Low frequency
We can eliminate low value coefficients without
losing much image quality
Low value coefficients High frequency
29Background on Images
- Color image has three color planes
- Black and white has one color plane
- Each color plane is represented by pixels with
numerical values that correspond to a color.
30Matrix image taken from Wikipedia.com
31Background on Images Cont.
- Each pixel has 8-bits (1 or 0) that gives the
pixel a value from 0 to 255. - 0000 0001 1
- 0001 0010 18
- 1000 0000 128
- Goal is to find out haw many bits per pixel it
takes to represent an image (uncompressed image
would be 8 bits per pixel).
32Finding Bits Per Pixel
- Download files from website.
- Review code to understand what it is doing
- Run code (look at images that are displayed)
- Complete two Exercises
- QualityJPEG1 2 5 80 100