28.3.2012
1
IMAGE COMPRESSION
Image Compression• Why?
• Reducing transportation times• Reducing file size
• A two way event - compression and decompression
28.3.2012
2
Compression categories• Compression = Image coding• Still-image compression
• Compression of moving imageLossless Lossy
28.3.2012
3
INTERFRAME and INTRAFRAME PROCESSING
Interframe ProcessingPredictive Encoding
Point to Point
Line to Line
Intraframe Processing
Image compression meters• Compress ratio =
Original image size
Compressed image size
• The larger the compression ratio, the smaller the result image
28.3.2012
4
Image compression• Compression method is not same as the image file-
interchange format. • Example TIFF -file format supports several compression methods
28.3.2012
5
Why Can We Compress?• Spatial redundancy
• Neighboring pixels are not independent but correlated
• Temporal redundancy
Information vs Data
REDUNDANTDATA
INFORMATION
DATA = INFORMATION + REDUNDANT DATA
28.3.2012
6
Image compression fundamentals • Same compression method is not to be used more than
once. • But you can use different methods at the same time,
especially different lossless methods like LZW and PKZIP
Image compression: symmetry
28.3.2012
7
Color image compression• RGB - apply the same compression scheme to the
three color component images• Convert the image from the RGB color space to a less
redundant space, because RGB components carries a lot of same information.
• RGB --> HSB, when Hue and Saturation components are well compressed
Color imagecompression
RED
GREENBLUE
SATURATION
HUE
BRIGHTNESS
28.3.2012
8
Lossless image compression• Image can be decompressed back to original• Used when image’s future purpose of use is not known,
example space exploration imagery is often studied for years following its origination
Run-Length Coding
76 76 76 76 76 78 79 79 80 80 80 98 98y
76| 5 78| 1 79| 2 80| 3 98| 2
Run-Length Codes(Brightness | Run-length)
x
28.3.2012
9
Run-length coding• Codes the nearby pixels which has same brightness
values in two values - Run-Length, RLE and brightness value
• Error sensitive • Data explosion• Data errors
Huffman CodingConverting the pixel brightness values in the original image to new variable-length codes, based on their frequency of occurrence in the image
Arrange valuesin descending frequency of occurrence
BrightnessHistogram
Assign Huffmanvariable-lengthcodes
Raw ImageData
98,100,103,87,86,95...
SubstituteHuffmancodes
Appendcodelist
Huffman CodeImage Data
0,10,0,11001111,11011
The flow of the Huffman coding operation.
28.3.2012
10
Huffman coding
character number Huffman code
a (97) 45 1 1b (98) 23 1 0 01c (99) 2 0 0 000d (100) 1 0 1 0010CR (13) 1 1 1 00111LF (10) 1 0 00110
2
3
5
28
Lossless or Lossy Compression• Lossless compression
• There is no information loss, and the image can be reconstructed exactly the same as the original
• Applications: Medical imagery, Archiving• Lossy compression
• Information loss is tolerable• Many-to-1 mapping in compression eg. quantization• Applications: commercial distribution (DVD) and rate
constrained environment where lossless methods can not provide enough compression ratio
28.3.2012
11
Predictive Coding
• Based on the assumption that pixel’s brightness can be predicted based on the brightness of the preceding pixel
• Codes only the brightness value of the pixel next to each other
• DPCM (Differential Pulse Code Modulation)
DPCM (Differential Pulse Code Modulation)
28.3.2012
12
Block Coding• Searching for repeated patterns (mostly in rows)• Pixel patterns are put in Codebook• Original image’s pixel pattern is replaced by codebook
index in compressed image
Block Coding
• LZW- compression (Lempel-Ziv-Welch)• Compression ratio 2:1 - 3:1• Starting with a 256 single-pixel long codebook ->
adding until it reaches its maximum length • LZW+Huffmann, where most common pixel patterns
get shortest codes
28.3.2012
13
TRANSFORM CODING• Transform Coding
- transform image- code the coefficients of the transform- transmit them - reconstruct by inverse transform
• Benefits- transform coeff. relatively uncorrelated- energy is highly compacted- reasonable robust relative to channel errors
Transform Coding– A form of lossy block coding, but it does
not use codebook– Frequency domain– Frequency transformation finds the
essential data in the image and coding is accurate
– 8*8 pixel blocks– Discrete Cosine Transform (DCT)
28.3.2012
14
File formats and compression methods
• Standards crucial, so pictures are transportable between different systems
• Compression standards:• CCITT group 3 and 4 (Fax-standard)• Joint Bi-level Image Expert Group (JBIG)• Joint Photographic Experts Group (JPEG)
• Motion picture:• CCITT Recommendation H.261 – H.264• Moving Picture Experts Group (MPEG)
Why Do We Need International Standards?
• International standardization is conducted to achieve inter-operability .• Only syntax and decoder are specified.• Encoder is not standardized and its optimization is left to the
manufacturer.• Standards provide state-of-the-art technology that is
developed by a group of experts in the field.• Not only solve current problems, but also anticipate the future
application requirements.
28.3.2012
15
Compression standards: JPEGJoint Photographic Experts Group (JPEG)
• One of the most important image data compression standards
• Developed for highly detailed gray-scale and color images / photographs
• Most commonly used as a lossy image compression method, but lossless modes exist as well
• JPEG uses several cascaded compression modes• Adjustable compression scheme number of
retained frequency components can be changed to achieve different compression ratios
• DCT > Remove rare frequency components > DPCM > Huffman
JPEG(Intraframe coding)
• First generation JPEG uses DCT+Run length Huffman entropy coding.
• Second generation JPEG (JPEG2000) uses wavelet transform + bit plane coding + Arithmetic entropy coding.
28.3.2012
16
Why DCT Not DFT?
• DCT is similar to DFT, but can provide a better approximation with fewer coefficients
• The coefficients of DCT are real valued instead of complex valued in DFT.
The 64 (8 X 8) DCT Basis Functions
• Each 8x8 block can be looked at as a weighted sum of
these basis functions. • The process of 2D
DCT is also the process of finding
those weights.
28.3.2012
17
Zig-zag Scan DCT Blocks• Why? -- To group low frequency coefficients in top of
vector.• Maps 8 x 8 to a 1 x 64 vector.
Original
28.3.2012
18
JPEG
27:1
JPEG2000
27:1
28.3.2012
19
Motion compression standards
Moving Picture Experts Group (MPEG)• Intended for the mass distribution of motion video
sequences• Compression-asymmetric = compression techniques
require more processing time and computing powerthan the decompression ones
• In addition to coding techniques used with JPEG, MPEG utilizes interframe coding methods
MPEG-1 use CD-ROM and Internet MPEG-2 use DVD and Digi-TVMPEG-4 most advanced technology
Top Related