Digital Image Processing Image Compression. ALI JAVED Lecturer SOFTWARE ENGINEERING DEPARTMENT U.E.T...

Preview:

Citation preview

Digital Image Digital Image ProcessingProcessing

Image CompressionImage Compression

ALI JAVED Lecturer SOFTWARE ENGINEERING DEPARTMENTU.E.T TAXILAEmail:: alijaved@uettaxila.edu.pkOffice Room #:: 7

3

Background

Principal objective:To minimize the number of bits required to represent an image.ApplicationsTransmission:Broadcast TV via satellite, military communications via aircraft,

teleconferencing, computer communications etc.Storage:Educational and business documents, medical images (CT, MRI and digital radiology), motion pictures, satellite images, weather maps, geological surveys, ...

4

Overview

Image data compression methods fall into two common categories:

I. Information preserving compression Especial for image archiving (storage of legal or medical records) Compress and decompress images without losing information

II. Lossy image compression Provide higher levels of data reduction Result in a less than perfect reproduction of the original image Applications: –broadcast television, videoconferencing

5

6

Data vs. information

• Data is not the same thing as information

• Data are the means to convey information; various amounts of data may be used to represent the same amount of information Part of data may provide no relevant information: data redundancy

• The amount of data can be much larger expressed than the amount of information.

7

Data Redundancy

• Data that provide no relevant information=redundant data or redundancy.

• Image compression techniques can be designed by

reducing or eliminating the Data Redundancy

• Image coding or compression has a goal to reduce the amount of data by reducing the amount of redundancy.

8

Data Redundancy

9

Data RedundancyThree basic data redundancies

Coding Redundancy Interpixel Redundancy Psychovisual Redundancy

10

Coding Redundancy

A natural m-bit coding method assigns m-bit to each gray

level without considering the probability that gray level occurs

with: Very likely to contain coding redundancy

Basic concept: Utilize the probability of occurrence of each gray level

(histogram) to determine length of code representing that particular gray level: variable-length coding.

Assign shorter code words to the gray levels that occur most frequently or vice versa.

11

Coding Redundancy

12

Coding Redundancy (Example)

13

Coding Redundancy (Example)

14

Coding Redundancy (Example)

15

Interpixel Redundancy

Caused by High Interpixel Correlations within an image, i.e., gray level of any given pixel can be reasonably predicted from the value of its neighbors (information carried by individual pixels is relatively small) spatial redundancy, geometric redundancy, interframe redundancy (in general, interpixel redundancy )

To reduce the interpixel redundancy, mapping is used. The mapping scheme can be selected according to the properties of redundancy.

An example of mapping can be to map pixels of an image: f(x,y) to a sequence of pairs: (g1,r1), (g2,r2), ..., (gi,ri), ..

gi: ith gray level ri: run length of the ith run

16

Interpixel Redundancy (Example)

17

Psychovisual Redundancy

The eye does not respond with equal sensitivity to all visual information.

Certain information has less relative importance than other information in normal visual processing psychovisually redundant (which can be eliminated without significantly impairing the quality of image perception).

The elimination of psychovisually redundant data results in a loss of quantitative information lossy data compression method.

Image compression methods based on the elimination of psychovisually redundant data (usually called quantization) are usually applied to commercial broadcast TV and similar applications for human visualization.

18

Psychovisual Redundancy

19

Psychovisual Redundancy

20

Psychovisual Redundancy

21

Fidelity Criteria

22

Fidelity Criteria

23

Fidelity Criteria

24

Image Compression Models

The encoder creates a set of symbols (compressed) from the input data. The data is transmitted over the channel and is fed to decoder. The decoder reconstructs the output signal from the coded symbols. The source encoder removes the input redundancies, and the channel encoder increases the noise immunity.

25

Source Encoder and Decoder

Error-Free Compression

26

Variable-length Coding Methods: Huffman Coding

27

Variable-length Coding Methods: Huffman Coding

28

29

Mapping

30

•There is often correlation between adjacent pixels, i.e. the value of the neighbors of an observed pixel can often be predicted from the value of the observed pixel. (Interpixel Redundancy).

•Mapping is used to remove Interpixel Redundancy.

•Two mapping techniques are:

Run length coding Difference coding.

31

32

33

34

35

Other Variable-length Coding Methods

LZW Coding

Lempel-Ziv-Welch (LZW) coding assigns fixed length code words to variable length sequences of source symbols.

37

Example

38

39

Bit-Plane Coding

Bit-Plane Coding

Bit-Plane Decomposition (Example)

Bit-Plane Decomposition (Example)

Bit-Plane Decomposition (Example)

Binary Image Compression

Binary Image Compression: Constant Area Coding (CAC)

Binary Image Compression: 1-D Run-Length Coding (1D RLC):

Lossy Compression

• A lossy compression method is one where compressing data and then decompressing it retrieves data that may well be different from the original, but is close enough to be useful in some way.

• Lossy compression is most commonly used to compress multimedia data (audio, video, still images), especially in applications such as streaming media and internet telephony.

JPEG

• Lossy Compression Technique based on use of Discrete Cosine Transform (DCT)

• A DCT is similar to a Fourier transform in the sense that it produces a kind of spatial frequency spectrum

STEPS IN JPEG COMPRESSION• Divide Each plane into 8x8 size blocks.• Transform the pixel information from the spatial domain

to the frequency domain with the Discrete Cosine Transform. (Compute DCT of each block)

• Quantize the resulting values by dividing each coefficient by an integer value and rounding off to the nearest integer.

• Arrange the resulting coefficients in a zigzag order. so that the coefficients are in order of increasing frequency. The higher frequency coefficients are more likely to be 0 after quantization. This improves the compression of run-length encoding.

• Do a run-length encoding of the coefficients ordered in this manner. Follow by Huffman coding. (Separately encode DC components and transmit data.)

Forward DCT

For an N X N pixel image

the DCT is an array of coefficients where

N

vy

N

uxpCC

NDCT

N

y xy

N

xvuuv 2

)12(cos

2

)12(cos

2

1 1

0

1

0

where

otherwiseCC

vuforCC

vu

vu

1

0,2

1

NvNupuv 0,0,

NvNuDCTuv 0,0,

JPEG COMPRESSION

JPEG COMPRESSION•The most important values to our eyes will be placed in the upper left corner of the matrix.

•The least important values will be mostly in the lower right corner of the matrix.

Semi-Important

Most Important

Least Important

JPEG COMPRESSIONThe example image 8*8 matrix before DCT transformation.

JPEG COMPRESSION

Gray-Scale Example:Value Range 0 (black) --- 255 (white)

63 33 36 28 63 81 86 9827 18 17 11 22 48 104 108 72 52 28 15 17 16 47 77 132 100 56 19 10 9 21 55 187 186 166 88 13 34 43 51 184 203 199 177 82 44 97 73 211 214 208 198 134 52 78 83 211 210 203 191 133 79 74 86

JPEG COMPRESSION

2D-DCT of matrixValue Range 0 (Gray) --- -355 (Black)

-304 210 104 -69 10 20 -12 7-327 -260 67 70 -10 -15 21 8 93 -84 -66 16 24 -2 -5 9 89 33 -19 -20 -26 21 -3 0 -9 42 18 27 -7 -17 29 -7 -5 15 -10 17 32 -15 -4 7 10 3 -12 -1 2 3 -2 -3 12 30 0 -3 -3 -6 12 -1

JPEG COMPRESSION

Cut the least significant componentsValue Range 0 (Gray) --- -355 (Black)

-304 210 104 -69 10 20 -12 0-327 -260 67 70 -10 -15 0 0 93 -84 -66 16 24 0 0 0 89 33 -19 -20 0 0 0 0 -9 42 18 0 0 0 0 0 -5 15 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

JPEG COMPRESSION

Original Compressed

RReessuulltts…s…

Some Common Image Formats

Some Common Image Formats

Recommended