data compression techniques
Download
Skip this Video
Download Presentation
Data Compression Techniques

Loading in 2 Seconds...

play fullscreen
1 / 38

Data Compression Techniques - PowerPoint PPT Presentation


  • 229 Views
  • Uploaded on

Data Compression Techniques. Text: WinZIP, WinRAR (Lempel-Ziv compression’1977) Image: JPEG (DCT-based), BMP (run-length coding) Video: VCD/DVD (MPEG), Real Player/Windows Media Player (H.263/H.264), BluRay Audio and Speech: MP3, G.728 (CELP) . Lossless vs. Lossy Compression.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Data Compression Techniques' - pooky


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
data compression techniques
Data Compression Techniques
  • Text: WinZIP, WinRAR (Lempel-Ziv compression’1977)
  • Image: JPEG (DCT-based), BMP (run-length coding)
  • Video: VCD/DVD (MPEG), Real Player/Windows Media Player (H.263/H.264), BluRay
  • Audio and Speech: MP3, G.728 (CELP)

EE465: Introduction to Digital Image Processing

slide2

Lossless vs. Lossy Compression

One is original and the other is compressed, which one is original?

Mathematical lossy can still be visually lossless

EE465: Introduction to Digital Image Processing

engineering is about design and implementation
Engineering is About Design and Implementation

performance

Product A

Product B

cost

EE465: Introduction to Digital Image Processing

slide4

A Tour of JPEG Coding Algorithm

C

T

Q

Flow-chart diagram of DCT-based coding algorithm specified by

Joint Photographic Expert Group (JPEG)

EE465: Introduction to Digital Image Processing

first building block 8 by 8 dct

T

First Building Block: 8-by-8 DCT

j

DC

i

EE465: Introduction to Digital Image Processing

transform coding of images
Transform Coding of Images
  • Why not transform the whole image together?
    • Require a large memory to store transform matrix
    • It is not a good idea for compression due to spatially varying statistics within an image
  • Idea of partitioning an image into blocks
    • Each block is viewed as a smaller-image and processed independently
    • It is not a magic, but a compromise

EE465: Introduction to Digital Image Processing

block processing under matlab
Block Processing under MATLAB
  • Type “help blkproc” to learn the usage of this function
    • B = BLKPROC(A,[M N],FUN) processes the image A by applying the function FUN to each distinct M-by-N block of A, padding A with zeros if necessary.
  • Example

I = imread(\'cameraman.tif\');

fun = @dct2;

J = blkproc(I,[8 8],fun);

EE465: Introduction to Digital Image Processing

slide8

Block-based DCT Example

I

J

note that white lines are artificially added to the border of each 8-by-8 block to denote that each block is processed independently

EE465: Introduction to Digital Image Processing

boundary padding
Boundary Padding

Example

12

13

14

15

16

17

18

19

12

13

14

15

16

17

18

19

12

13

14

15

16

17

18

19

12

13

14

15

16

17

18

19

padded regions

When the width/height of an image is not the multiple of 8, the boundary is

artificially padded with repeated columns/rows to make them multiple of 8

EE465: Introduction to Digital Image Processing

slide10

Work with a Toy Example

Any 8-by-8 block in an image is processed in a similar fashion

EE465: Introduction to Digital Image Processing

slide11

Encoding Stage I: Transform

• Step 1: DC level shifting

128 (DC level)

_

EE465: Introduction to Digital Image Processing

slide12

Encoding Step 1: Transform (Con’t)

• Step 2: 8-by-8 DCT

88

DCT

EE465: Introduction to Digital Image Processing

slide13

Second Building Block: Quantization

Q-table

: specifies quantization stepsize (see slide #28)

Notes:

  • Q-table can be specified by customer
  • Q-table is scaled up/down by a chosen quality factor
  • Quantization stepsize Qij is dependent on the coordinates

(i,j) within the 8-by-8 block

  • Quantization stepsize Qijincreases from top-left to bottom-right

EE465: Introduction to Digital Image Processing

slide14

Encoding Stage II: Quantization (Con’t)

Example

sij

xij

f

EE465: Introduction to Digital Image Processing

slide15

The Third Building Block: Entropy Coding

zigzag scan

(20,5,-3,-1,-2,-3,1,1,-1,-1,

0,0,1,2,3,-2,1,1,0,0,0,0,0,

0,1,1,0,1,EOB)

End Of the Block:

All following coefficients

are zero

Zigzag Scan

EE465: Introduction to Digital Image Processing

slide16

Run-length Coding

(20,5,-3,-1,-2,-3,1,1,-1,-1,0,0,1,2,3,-2,1,1,0,0,0,0,0,0,1,1,0,1,EOB)

DC

coefficient

AC

coefficient

- DC coefficient : DPCM coding

encoded bit stream

- AC coefficient : run-length coding (run, level)

(5,-3,-1,-2,-3,1,1,-1,-1,0,0,1,2,3,-2,1,1,0,0,0,0,0,0,1,1,0,1,EOB)

(0,5),(0,-3),(0,-1),(0,-2),(0,-3),(0,1),(0,1),(0,-1),(0,-1),(2,0),(0,1),

(0,2),(0,3),(0,-2),(0,1),(0,1),(6,0),(0,1),(0,1),(1,0),(0,1),EOB

Huffman coding

encoded bit stream

EE465: Introduction to Digital Image Processing

slide17

JPEG Decoding Stage I:

Entropy Decoding

encoded bit stream

Huffman decoding

(0,5),(0,-3),(0,-1),(0,-2),(0,-3),(0,1),(0,1),(0,-1),(0,-1),(2,0),(0,1),

(0,2),(0,3),(0,-2),(0,1),(0,1),(6,0),(0,1),(0,1),(1,0),(0,1),EOB

encoded bit stream

DPCM decoding

(20,5,-3,-1,-2,-3,1,1,-1,-1,0,0,1,2,3,-2,1,1,0,0,0,0,0,0,1,1,0,1,EOB)

DC

coefficient

AC

coefficients

EE465: Introduction to Digital Image Processing

slide18

JPEG Decoding Stage II:

Inverse Quantization

(20,5,-3,-1,-2,-3,1,1,-1,-1,0,0,1,2,3,-2,1,1,0,0,0,0,0,0,1,1,0,1,EOB)

zigzag

f-1

EE465: Introduction to Digital Image Processing

slide19

JPEG Decoding Stage III:

Inverse Transform

88

IDCT

128

(DC level)

+

EE465: Introduction to Digital Image Processing

quantization noise
Quantization Noise

^

X

X

^

Distortion calculation:

MSE=||X-X||2

Rate calculation:

Rate=length of encoded bit stream/number of pixels (bps)

EE465: Introduction to Digital Image Processing

jpeg examples
JPEG Examples

10 (8k bytes)

50 (21k bytes)

90 (58k bytes)

best quality,

lowest compression

0

worst quality,

highest compression

100

EE465: Introduction to Digital Image Processing

rate distortion tradeoff
Rate-Distortion Tradeoff

EE465: Introduction to Digital Image Processing

slide23

Block artifacts of JPEG when the bit rate is low (0.25bpp)

EE465: Introduction to Digital Image Processing

jpeg coding algorithm summary
JPEG Coding Algorithm Summary

EE465: Introduction to Digital Image Processing

slide25

Lossy Compression of Color Images

Color-space transformation

luminance

chrominance

forward transform

inverse transform

Luminance channel can be treated just like a gray-scale image

EE465: Introduction to Digital Image Processing

slide26

Compression of Chrominance Channels

Q-Table

Down-sampling

2

Cr/Cb

Human eye is relatively insensitive to the high-frequency

content of the chrominance channels.

EE465: Introduction to Digital Image Processing

technology is about new tools
Technology is About New Tools
  • The same design principle but each building block can be replaced by a more advanced technique
    • Transform: DCT becomes Wavelet Transform
    • Quantization: uniform quantization becomes bitplane coding (to support scalability)
    • Entropy coding: Huffman coding becomes arithmetic coding (more flexible)
  • JPEG becomes JPEG2000

EE465: Introduction to Digital Image Processing

a glimpse into wavelet transform
A Glimpse into Wavelet Transform*

Multi-Resolution Analysis in Vision

Human vision system is capable of interpreting

the visual information regardless of the resolution

EE465: Introduction to Digital Image Processing

slide29

Progressive Image Transmission

  • I hate to wait – show me a piece and see if I like it or not

Low-resolution

(LR)

High-resolution

(HR)

EE465: Introduction to Digital Image Processing

haar transform the simplest wavelet transform
Haar Transform – the simplest wavelet transform

Example

EE465: Introduction to Digital Image Processing

reordering coefficients
Reordering Coefficients

approximation

horizontal details

Apply Haar transform

to each 2-by-2 block

vertical details

diagonal details

é

ù

200

200

0

0

ê

ú

100

100

0

0

ê

ú

regrouping

=

Y

0

0

0

0

ê

ú

ê

ú

0

0

0

0

ë

û

EE465: Introduction to Digital Image Processing

slide32

é

ù

200

200

0

0

ê

ú

100

100

0

0

ê

ú

=

Y

0

0

0

0

ê

ú

ê

ú

0

0

0

0

ë

û

Multi-level Wavelet Transform

Apply one-level

Haar transform

Apply Haar

transform

to Low-Low

band only

EE465: Introduction to Digital Image Processing

image example
Image Example

EE465: Introduction to Digital Image Processing

wavelet image compression
Wavelet Image Compression

compressed

bit stream

Scalar

Quantization

Entropy

Coding

Wavelet

Transform

image

Major improvements

 Wavelet transform instead of DCT

 Arithmetic coding instead of Huffman coding

 Modeling location instead of intensity

Those are the topics in EE565: Advanced Image Processing

EE465: Introduction to Digital Image Processing

fbi wavelet scalar quantization wsq standard
FBI Wavelet Scalar Quantization (WSQ) Standard
  • Established by FBI in 1990s as the standard for fingerprint image compression
  • Wavelet-based: Daubechies’ wavelets were built just in time to win the race
  • Demonstrate better Rate-Distortion performance than DCT-based JPEG standard

EE465: Introduction to Digital Image Processing

slide36

JPEG2000 Standard

  • Developed by ISO in late 1990s to replace the DCT-based JPEG standard
  • Accumulative research progress on wavelet image compression has dramatically pushed the art of lossy image compression forward
  • Demonstrate much better Rate-Distortion performance than DCT-based JPEG standard for typical photographic images

EE465: Introduction to Digital Image Processing

wavelet vs dct
Wavelet vs. DCT

discrete cosine transform based

wavelet transform based

JPEG (CR=64)

JPEG2000 (CR=64)

EE465: Introduction to Digital Image Processing

bigger question
BIGGER Question
  • Why haven’t we seen JPEG being replaced by JPEG2000?
  • Technical superiority DO NOT always imply economical wins (think about Unix vs. Windows)
  • THE next image compression standard has to wait for the right timing
  • Anyone including you can be a part of that business

EE465: Introduction to Digital Image Processing

ad