lecture 14 image compression 1.what and why image compression 2.basic concepts 3.encoding/decoding,...
TRANSCRIPT
![Page 1: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/1.jpg)
Lecture 14 Image Compression
1. What and why image compression
2. Basic concepts
3. Encoding/decoding, entropy
![Page 2: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/2.jpg)
What is Data and Image Compression?
Data compression is the art and science of representing information in a compact form.
Data is a sequence of symbols taken from a discrete
alphabet.
![Page 3: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/3.jpg)
Why do we need Image Compression?
Still Image· One page of A4 format at 600 dpi is > 100 MB.
· One color image in digital camera generates 10-30 MB. · Scanned 3”7” photograph at 300 dpi is 30 MB.
Digital Cinema· 4K2K3 12 bits/pel = 48 MB/frame or 1 GB/sec
or 70 GB/min.
![Page 4: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/4.jpg)
Why do we need Image Compression?
1) Storage2) Transmission3) Data access 1990-2000
Disc capacities : 100MB -> 20 GB (200 times!) but seek time: 15 milliseconds 10 milliseconds and transfer rate : 1MB/sec ->2 MB/sec.
Compression improves overall response time in some applications.
![Page 5: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/5.jpg)
Source of images
• Image scanner
• Digital camera
• Video camera,
• Ultra-sound (US), Computer Tomography (CT),
Magnetic resonance image (MRI), digital X-ray (XR),
Infrared.
• etc.
![Page 6: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/6.jpg)
Image types
IMAGECOMPRESSION
UNIVERSALCOMPRESSION
Videoimages
G ray -scale im ages
T ru e co lo u r im ag es
B in aryim ag es
Colour palette images
T ex tu al d ata
![Page 7: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/7.jpg)
Why we can compress image?
• Statistical redundancy:
1) Spatial correlation
a) Local - Pixels at neighboring locations have similar intensities.
b) Global - Reoccurring patterns.
2) Spectral correlation – between color planes.
3) Temporal correlation – between consecutive frames. • Tolerance to fidelity:
1) Perceptual redundancy.
2) Limitation of rendering hardware.
![Page 8: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/8.jpg)
Lossy vs. Lossless compression
Lossless compression: reversible, information preserving text compression algorithms, binary images, palette images
Lossy compression: irreversible grayscale, color, video
Near-lossless compression: medical imaging, remote sensing.
![Page 9: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/9.jpg)
Rate measures
Bitrate:
Compression ratio:
N
C
image in the pixels
file compressed theof size
C
kN
file compressed theof size
file original theof size
bits/pel
![Page 10: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/10.jpg)
Distortion measures
Mean average error (MAE):
N
iii xy
N 1
1MAE
Mean square error (MSE):
N
iii xy
N 1
21MSE
MSElog10PSNR 210 A
Signal-to-noise ratio (SNR):
Pulse-signal-to-noise ratio (PSNR):
MSElog10SNR 210
(decibels)
(decibels)
A is amplitude of the signal: A = 28-1=255 for 8-bits signal.
![Page 11: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/11.jpg)
Other issues
• Coder and decoder computation complexity• Memory requirements• Fixed rate or variable rate• Error resilience• Symmetric or asymmetric• Decompress at multiple resolutions• Decompress at various bit rates• Standard or proprietary
![Page 12: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/12.jpg)
Entropy
Set of symbols (alphabet) S={s1, s2, …, sN},N is number of symbols in the alphabet.
Probability distribution of the symbols: P={p1, p2, …, pN}
According to Shannon, the entropy H of an informationsource S is defined as follows:
N
iii ppH
12 )(log
![Page 13: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/13.jpg)
Entropy
The amount of information in symbol si,
in other words, the number of bits to code or code length
for the symbol si:
)(log)( 2 ii psH
N
iii ppH
12 )(log
The average number of bits for the source S:
![Page 14: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/14.jpg)
Entropy for binary source: N=2
))1(log)1(log( 22 ppppH
S={0,1}
p0=p
p1=1-p
0 1
p
1-p
H=1 bit for p0=p1=0.5
![Page 15: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/15.jpg)
Entropy for uniform distribution: pi=1/N
Uniform distribution of probabilities: pi=1/N:
)(log)/1(log)/1( 21
2 NNNHN
i
Examples: N= 2: pi=0.5; H=log2(2) = 1 bitN=256: pi=1/256; H=log2(256)= 8 bits
Pi=1/N
s1 s2 sN
![Page 16: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/16.jpg)
How to get the probability distribution?
1) Static modeling: a) The same code table is applied to all input data. b) One-pass method (encoding) c) No side information
2) Semi-adaptive modeling: a) Two-pass method: (1) analysis and (2) encoding. b) Side information needed (model, code table)
3) Adaptive (dynamic) modeling: a) One-pass method: analysis and encoding b) Updating the model during encoding/decoding c) No side information
![Page 17: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/17.jpg)
Static vs. Dynamic: Example
S = {a,b,c}; Data: a,a,b,a,a,c,a,a,b,a.
1) Static model: pi=1/10
H = -log2(1/10)=1.58 bits
2) Semi-adaptive method: p1=7/10; p2=2/10; p3=1/10;
H = -(0.7*log20.7 + 0.2*log20.2 + 0.1*log20.1)=1.16 bits
![Page 18: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/18.jpg)
3) Adaptive method: Example
S = {a,b,c}; Data: a,a,b,a,a,c,a,a,b,a.
Symbol 1 2 3 4 5 6 7 8 9 10 a 1 2 3 3 4 5 5 6 7 7b 1 1 1 2 2 2 2 2 2 3c 1 1 1 1 1 1 2 2 2 2
pi 0.33 0.5 0.2 0.5 0.57 0.13 0.56 0.60 0.18 0.58H 1.58 1.0 2.32 1.0 0.81 3.0 0.85 0.74 2.46 0.78
H=(1/10)(1.58+1.0+2.32+1.0+0.81+3.0+0.85+0.74+2.46+0.78) =1.45 bits/char 1.16 < 1.45 < 1.58 S.-Ad. Ad. Static
![Page 19: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/19.jpg)
Coding methods
• Shannon-Fano Coding• Huffman Coding• Predictive coding• Block coding
• Arithmetic code• Golomb-Rice codes
![Page 20: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/20.jpg)
Shannon-Fano Code: A top-down approach
1) Sort symbols according their probabilities:
p1 p2 … pN
2) Recursively divide into parts, each with approx. the same number of counts (probability)
![Page 21: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/21.jpg)
Shannon-Fano Code: Example (1 step)
si pi
A - 15/39B - 7/39 C - 6/39 D - 6/39E - 5/39
si pi
A - 15/39B - 7/39 C - 6/39 D - 6/39E - 5/39
A,B, C,D,E15,7, 6,6,5
A,B 15+7 =22
C,D,E6+6+5=17
0 1
![Page 22: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/22.jpg)
Shannon-Fano Code: Example (2 step)
si pi
A - 15/39B - 7/39 C - 6/39 D - 6/39E - 5/39
si pi
A - 15/39B - 7/39 C - 6/39 D - 6/39E - 5/39
A,B, C,D,E15,7, 6,6,5
A,B 15+7 =22
C,D,E6+6+5=17
A15
B7
C6
D,E6+5=11
0 1
0 01 1
![Page 23: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/23.jpg)
Shannon-Fano Code: Example (3 step)
si pi
A - 15/39B - 7/39 C - 6/39 D - 6/39E - 5/39
si pi
A - 15/39B - 7/39 C - 6/39 D - 6/39E - 5/39
A,B, C,D,E15,7, 6,6,5
A,B 15+7 =22
C,D,E6+6+5=17
A15
B7
C6
D,E6+5=11
D6
E5
0 1
0 1 0 1
0 1
![Page 24: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/24.jpg)
Shannon-Fano Code: Example (Result)
Symbol pi -log2(pi) Code Subtotal
A 15/39 1.38 00 2*15 B 7/39 2.48 01 2*7 C 6/39 2.70 10 2*6 D 6/39 2.70 110 3*6 E 5/39 2.96 111 3*5 Total: 89 bits
0 1
0 11 0
10A CB
D E
H=89/39=2.28 bits
Binary tree
![Page 25: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/25.jpg)
Shannon-Fano Code: Encoding
A - 00B - 01C - 10D - 110E - 111
0 1
0 11 0
10A CB
D E
Binary tree
Message: B A B A C A C A D ECodes: 01 00 01 00 10 00 10 00 110 111
Bitstream: 0100010010001000110111
![Page 26: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/26.jpg)
Shannon-Fano Code: Decoding
A - 00B - 01C - 10D - 110E - 111
0 1
0 11 0
10A CB
D E
Binary tree
Bitstream: 0100010010001000110111 (23 bits)Codes: 01 00 01 00 10 00 10 00 110 111Messaage: B A B A C A C A D E
![Page 27: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/27.jpg)
Huffman Code: A bottom-up approach
INIT:Put all nodes in an OPEN list, keep it sorted all timesaccording their probabilities;.
REPEAT a) From OPEN pick two nodes having the lowest probabilities, create a parent node of them.
b) Assign the sum of the children’s probabilities to the parent node and inset it into OPEN c) Assign code 0 and 1 to the two branches of the tree, and delete the children from OPEN.
![Page 28: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/28.jpg)
Huffman Code: Example
Symbol pi -log2(pi) Code Subtotal
A 15/39 1.38 0 2*15 B 7/39 2.48 100 3*7 C 6/39 2.70 101 3*6 D 6/39 2.70 110 3*6 E 5/39 2.96 111 3*5 Total: 87 bits
0 1
10
10
A
C D E
1
B
H=87/39=2.23 bits
Binary tree
6/39 5/39
11/39
6/397/39
15/39
13/39
24/39
39/39
![Page 29: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/29.jpg)
Huffman Code: Decoding
A - 0B - 100 C - 101D - 110E - 111
0 1
10
10
A
C D E
1
B
Binary tree
Bitstream: 1000100010101010110111 (22 bits)Codes: 100 0 100 0 101 0 101 0 110 111Message: B A B A C A C A D E
![Page 30: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/30.jpg)
Properties of Huffman code
• Optimum code for a given data set requires two passes.
• Code construction complexity O(N logN).
• Fast lookup table based implementation.
• Requires at least one bit per symbol.
• Average codeword length is within one bit of zero-order entropy (Tighter bounds are known): H R H+1 bit
• Susceptible to bit errors.
![Page 31: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/31.jpg)
Unique prefix property
No code is a prefix to any other code, all symbols are
the leaf nodes
0
0
1
1
A
C
B
Shannon-Fano and Huffman codes are prefix codes
Legend: Shannon (1948) and Fano (1949);
Huffman (1952) was student of Fano at MIT.
Fano: ”Construct minimum-redundancy code final exam is passed!”
(D)NOT prefix
![Page 32: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/32.jpg)
Predictive coding
1) Calculate prediction value: yi=f(neibourhood of xi).
2) Calculating the prediction error: ei= yi- xi.
3) Encode the prediction error ei.
![Page 33: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/33.jpg)
Predictive model for grayscale images
Histogram of the original image and Residual image
Entropy: Ho= 7.8 bits/pel (?) Hr=5.1 bits/pel (?)
y=xi-xi-1y=xi-xi-1
![Page 34: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/34.jpg)
Coding without prediction
H =-((8/64)*log2(8/64)+(56/64)*log2(56/64))=0.544 bits/pel
f0=8; p0=p=8/64 =0.125;
f1=56; p1 =(1-p)=56/64=0.875
Entropy:
![Page 35: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/35.jpg)
Prediction for binary images by pixel above
f p16 16/64
48 48/64
H =-((16/64)*log2(16/64)+(48/64)*log2(48/64))=0.811 bits/pel
Wrong predictor!
Entropy:
![Page 36: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/36.jpg)
Prediction for binary images pixel to the left
f p1 16/64
63 63/64
H =-((1/64)*log2(1/64) + (63/64)*log2(63/64)) =0.116 bits/pel
Good predictor!
Entropy:
![Page 37: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/37.jpg)
Comparison of predictors:
• Without prediction: H= 0.544 bits/pel
• Prediction by pixel above: H = 0.811 bits /pel (bad!)
• Prediction by pixel to the left: H=0.116 bits/pel (good!)
![Page 38: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/38.jpg)
Shortcoming of Huffman codes
Alphabet: a, b.
pa=p=0.99, pb=q=0.01
1) Entropy
H1=-(p*log2(p)+q*log2(q))=0.081 bits/pel
2) Huffman code: pa=’0’, pb=’1’
Bitrate R1 = 1*p+1*q = p+q = 1 bit/pel!
Make a new alphabet blocking symbols!
![Page 39: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/39.jpg)
Block coding: n=2
New alphabet: ’A’=’aa’, ’B’=’ab’, ’C’=’ba’, ’D’=’bb’
pA=p2=0.9801, pB=pq=0.0099, pC=pq=0.0099, pD= q2=0.0001
1) Entropy: H2=-(0.9801*log2(0.9801) + 0.0099*log2(0.0099) +
+ 0.0099*log2(0.0099) + 0.0001*log2(0.0001))=
=(0.0284+0.0659+0.0659+0.0013)/2= 0.081 bits/pel
Why H2=H1?
2) Huffman code: cA=’0’, cB=’10’, cC=’110’, cD=’111’
LA=1, LB=2, LC=2, LD=3
Bitrate R2 = (1*pA+2*pB+3*pC+3*pD)/2=0.515 bits/pel
![Page 40: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/40.jpg)
Block coding: n=3
’A’=’aaa’ -> pA=p3
’B=’aab’, ’C’=’aba’, ’D’=’baa’ -> pB= pC=pD=p2q’E’=’abb’, ’F’=’bab’, ’G’=’bba’ -> pE= pF=pG=pq2 ’H’=’bbb’ -> pH=q3
Huffman code: cA=’0’, cB=’10’, cC=’110’, cD=’1110’ cE=’111100, cB=’111101’, cG=’111110’, cH=’111111’ Entropy H3?
Bitrate:
R3 = (1*pA+2*pB+3*pC+4*pD+6*(pE+pF+pG+pH))/3=
= 0.353 bits/pel
![Page 41: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/41.jpg)
Block coding: n
pa=p=0.99, pb=q=0.01
Entropy Hn=0.081 bits/pel Bitrate for Hufman coder: n= 1: R1 = 1.0 bit 2 symbols in alphabet n= 2: R2 = 0.515 bits 4 symbols in alphabet n= 3: R3 = 0.353 bits 8 symbols in alphabet
If block size n ? Hn Rn Hn+1/n
Problem - alphabet size and Huffman table size grows exponentially with number of symbols n blocked.
N
inn
N
innn n
BpBpn
RBpBpn 1
21
*2
1)(log)(
1)(log)(
1
![Page 42: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/42.jpg)
Block coding: Example 2, n=1
1) Entropy
H=-((56/64)*log2(56/64)+(8/64)*log2(8/64))=0.544 bits/pel
2) Huffman code: a= ’0’; b=’1’
Bitrate: R= 1 bit/pel
pa=56/64
pb=8/64
![Page 43: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/43.jpg)
Block coding: Example 2, n=4
1) Entropy
H=-((12/16)*log2(12/16)+(4/16)*log2(4/16))/4=0.203 bits/pel
2) Huffman code: A=’0’, B=’1’
Bitrate R = (1*pA+1*pB)/4=0.250 bits/pel
pA=12/16
pB=4/16
![Page 44: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/44.jpg)
Binary image compression
• Run-length coding• Predictive coding• READ code• Block coding• G3 and G4• JBIG: Prepared by Joint Bi-Level Image Expert Group in
1992
![Page 45: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/45.jpg)
Compressed file size
Model size
n=1: Model size: pa, pb 21*8 bits
n=2: Model size: pA, pB , pC, pD 22*8 bits
n=k: Model size: {pA, pB , …, pD} 2k*8 bits
Compressed data size for S symbols in input file:
R*S bits, where R is bitrate (bits/pel)
Total size: Model size + R*S bits
Difference between entropy H and bitrate R!
![Page 46: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/46.jpg)
Run-length coding idea
• Pre-processing method, good when one symbol occurs with high probability or when symbols are dependent
• Count how many repeated symbol occur• Source ’symbol’ = length of run
Example: …, 4b, 9w, 2b, 2w, 6b, 6w, 2b, ...
![Page 47: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/47.jpg)
Run-length encoding: CCITT standard
Resolution:
Image: 1728*1,188
or 2 Mbytes
Transmission time: T=7 min
![Page 48: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/48.jpg)
Run-length encoding: Example
RL Code4 b ’011’ 9 w ’10100’2 b ’112 w ’0111’6 b ’0010’6 w ’1110’2 b ’11’
RL Code4 b ’011’ 9 w ’10100’2 b ’112 w ’0111’6 b ’0010’6 w ’1110’2 b ’11’
![Page 49: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/49.jpg)
Run-length Huffman encoding: 0 n 63
...
![Page 50: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/50.jpg)
Run-length Huffman encoding: n > 63
Examples: n=30w: code=’00000011’n=94w=64w+30w: code=’11011 00000011’n=64w=64w+ 0w: code=’11011 00110101’
?
![Page 51: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/51.jpg)
Predictive coding: Idea
• Predict the pixel value on the basis of past pixel(s)
• Send ‘0’ if prediction is correct, ‘1’ if prediction is not correct. Predictor for xi : yi = xi-1
Prediction error: ei = xi-xi-1
Example: alphabet S = {0,1} Data: (0) 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 H=1.0 bit Errors: 0 0 0 0 1 0 0 0 0 0 0 0 -1 0 0 0
(If e < 0 then e = e+2) Why 2?
Errors: 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 H=0.5 bit
![Page 52: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/52.jpg)
Four-pixel prediction function
62.99 %
83.97 %
87.98 %
71.05 %
86.59 %
70.10 %
95.19 %
96.64 %
77.14 %
94.99 %
61.41 %
61.41 %
78.74 %
78.60 %
91.82 %
99.76 %
![Page 53: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/53.jpg)
READ Code (1)
• Code the location of run boundary relative to the previous row.
READ = ”Relative Element Address Designate”
• The READ code includes three coding modes: o Pass mode o Vertical mode o Horizontal mode
![Page 54: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/54.jpg)
READ Code: Principles
• Vertical mode: The position of each color change is coded with respect to a nearby change position of the same color on the reference line, if one exists. "Nearby" is taken to mean within three pixels. • Horizontal mode: There is no nearby change position on the reference line, one-dimensional run-length coding - called • Pass code: The reference line contains a run that has no counterpart in the current line; next complete run of the opposite color in the reference line should be skipped.
![Page 55: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/55.jpg)
READ: Codes fo modes
wl = length of the white run bl = length of the black runHw = Huffman code of white run Hb = Huffman code of black run
(For Hufman codes see previous slides)
![Page 56: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/56.jpg)
READ code
• There is an all-white line above the page, which used as the reference line for the 1st scan line of the page.
• Each line is assumed start with a white pixel, which is ignored by
receiver.
• Pointer a0 is set to an imaginary white pel on the left of the coding
line, and a1 is set to point to the 1st black pel on the coding line. The first run length is | a0a1 |-1.
• Pointers b1 and b2 are set to point to the start of the 1st and 2ndruns on the reference line, respectively.
• The encoder assumes an extra pel on the right of the line, with a
color opposite that of the last pixel.
![Page 57: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/57.jpg)
Pass (a) and Vertical mode (b1,b2)
![Page 58: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/58.jpg)
Horizontal mode (c1,c2)
![Page 59: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/59.jpg)
Flowchart
![Page 60: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/60.jpg)
READ Code: Example
v ertica l m o de
0 1 0
reference line
current line
code generated
h orizo n tal m o d e pa ssco d e
v ertica l m o de h orizo n tal m o d e-1 0 3 w h ite 4 b lack + 2 4 w h ite 7 b lack-2
1 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 0 00 01 0 0 0 0 1 10 0 10 0 1 1 0 1 1
![Page 61: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/61.jpg)
Block Coding: Idea
• Divide the image into blocks of pixels.
• A totally white block (all-white block) is coded by ’0’.
• All other blocks (non‑white blocks) thus contain at least
one black pixel. They are coded with a 1‑bit as a prefix
followed by the contents of the block (bit by bit in
row-major order) or with Huffman code.
• The Block Coding can be applied to difference (error) image for predictive coding approach.
(see also Lecture 2)
![Page 62: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/62.jpg)
Block Coding: Huffman codes for k=0, 1
![Page 63: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/63.jpg)
Block Coding: Huffman codes for k=2
![Page 64: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/64.jpg)
Block Coding: Huffman codes for k=3, 4
![Page 65: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/65.jpg)
Hierarchical block encoding: Principle
• In the hierarchical variant of the block coding the bit map is first divided into b*b blocks (typically 16*16).
• These blocks are then divided into quadtree structure of blocks in the following manner: If a particular b*b block is all-white, it is coded by ’0’. Otherwise the block is coded by ’1’ and then divided into four equal sized subblocks which are recursively coded in the same manner.
![Page 66: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/66.jpg)
Hierarchical block encoding: (1)
Code: ’1’
Code: ’0111’
L=1
L=2
![Page 67: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/67.jpg)
Hierarchical block encoding ()
Codes: 0011 0111 1000
Codes: 0111 1111 1111 1100 0101 1010
Totally: 1+4+12+24 = 41 bits
L=3
L=4
![Page 68: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/68.jpg)
Hierarchical block encoding: Example
I m a g e to b e c o m p re s s e d : C o d e b its :
1 0 11 1 0 0 11 0 11 1 1 0 0 0
x xx x
0 11 1 11 1 1 11 1 10 1 0 1 1 0 1 0 11 0 0
x x x xx x x xx x x xx x x x
x xx x
x xx x
x xx x
x xx xx xx x
x xx x
1
0 1 1 1
0 0 1 1 0 1 1 1 1 0 0 0
0111 1111 1111 0101 1010 1100
1+4+12+24=41
![Page 69: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/69.jpg)
CCITT Group 3 (G3) and Group 4 (G4)
• The RLE and READ algorithms are included in image compression standards, known as CCITT G3 and G4.
(used in FAX-machines).
B u ffe r
R E A D
R L E
0 1 0 1 1 0 1 1 0 0 ...R u n le n g th
B o u n d a ry
B its
B its
P ixe l
p o in ts
![Page 70: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/70.jpg)
CCITT Group 3 (G3)
• Every k-th line is coded by RLE-method and the READ-code is applied for the rest of the lines.
• The first (virtual) pixel is white
• EOL code after every line to synchronize code
• Six EOL codes after every page
• Binary documents only
![Page 71: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/71.jpg)
CCITT Group 4 (G4)
• All lines are codes by READ
• The first reference line (above image) is white
• EOL code after every line to synchronize code
• Six EOL codes after every page
• Option for grayscale and color images
![Page 72: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/72.jpg)
G3 and G4: Results
Resolution Low (200100) High (200200)
Scheme G3 G4 G3 G4
Bits per pel 0.13 0.11 0.09 0.07
Seconds 57 47 74 61
7 min 1 min
![Page 73: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/73.jpg)
Comparison of algorithms
BLOCK RLE 2D-RLE ORLE G3 G4 JBIG0.0
5.0
10.0
15.0
20.0
25.0Compression ratio
7.9 9.8
18.0 18.9 17.923.3
10.3
PKZIPGZIP
8.9 10.8 11.2
COMPRESS
COMPRESS = Unix standard compression software
GZIP = Gnu compression software
PKZIP = Pkware compression software
BLOCK = Hierarchical block coding [KJ80]
RLE = Run-length coding [NM80]
2D-RLE = 2-dimensional RLE [WW92]
ORLE = Ordered RLE [NM80]
G3 = CCITT Group 3 [YA85]
G4 = CCITT Group 4 [YA85]
JBIG = ISO/IEC Standard draft [PM93]
![Page 74: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/74.jpg)
Quantization
Any analog quantity that is to be processed by a digital computer or digital system must be converted to an integer number proportional to its amplitude. The conversion process between analog samples and discrete-valued samples is called quantization.
Input signal Quantized signal
Quantizer
![Page 75: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/75.jpg)
Uniform quantizer: M=8 levels
Input-output characteristic of uniform quantizer
![Page 76: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/76.jpg)
Nonuniform quantizer: M = 8 levels
Input-output characteristic of nonuniform quantizer
![Page 77: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/77.jpg)
Nonuniform quantizer: M = 8 levels
Input-output characteristic of nonuniform quantizer
![Page 78: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/78.jpg)
Quantization error
Quantization error:e(x) = xq(x)
Input signal x
Quantized signal q(x)
![Page 79: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/79.jpg)
Distortion measure
Probability density function (pdf) of x is p(x)
Quantization error: e(x) = x q (x)
Mean (average value) of quantization error:
dxxpyxxqxEM
j
a
a
i
j
j
)()()]([1
1
Variance 2 of quantization error as distortion measure:
dxxpyxxqxEM
j
a
a
j
j
jj
)()(]))([(1
222
1
![Page 80: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/80.jpg)
Optimal quantization problem
Given a signal x, with probability density function
(or histogram) p(x), find a quantizer q(x) of x, which
minimizes the quantization error variance 2:
dxxpyxM
j
a
a
jya
j
jjj
)()(min1
2
}{},{
2opt
1
![Page 81: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/81.jpg)
Lossy image compression
• DPCM: Prediction error quantization
• Block Truncation Coding (BTC)
• Vector Quantization (VQ)
• Transform Coding (DCT, JPEG)
• Subband Coding
• Wavelet Coding (JPEG2000)
Model
Transformation Quantization EncodingData Bitstream
![Page 82: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/82.jpg)
Part 1: DPCM
Histogram of the original image and Residual image
Entropy: Ho= 7.8 bits/pel (?) Hr=5.1 bits/pel (?)
y=xi-xi-1y=xi-xi-1
![Page 83: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/83.jpg)
Prediction error quantization with open loop
ei=xixi-1 q(ei)ei=xixi-1 q(ei)
DPCM is Differential Pulse Code Modulation
![Page 84: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/84.jpg)
Quantization with open loop: Decoding
yi=yi-1+q(ei)yi=yi-1+q(ei)
Problem: error accumulation!
W/o quantization With quantizationxn=xn-1+ei yn=yi-1+q(en)
ynxn= [x1+q(e2)+... +q(en)] [x1+e2+... +en]=
= (q(e2)e2)+... +(q(en) en);
222 )1( qxy n Variance:
![Page 85: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/85.jpg)
Closed loop: Encoding
ei=xixi-1 q(ei)ei=xixi-1 q(ei)
ei= xi zi-1
zi= zi-1+q(ei)
ei= xi zi-1
zi= zi-1+q(ei)
![Page 86: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/86.jpg)
Closed loop: Decoding
zi=zi-1+q(ei)zi=zi-1+q(ei)
Error accumulation? No!
W/o quantization With quantizationen= xn zn-1 or xn=zn-1+en zn=zn-1+q(en)
xn zn-1=(zn-1+en)(zn-1+q(en))=enq(en);
![Page 87: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/87.jpg)
Example
• Open loop: quantization step is 8xj: 81 109 129 165 209 221 ej: 28 20 36 44 12
[ej/8] 4 3 5 6 2
q(ej) 32 24 40 48 16
yj: 81 113 137 177 225 241
• Closed loop: quantization step is 8xj: 81 109 129 165 209 221 ej: 28 16 36 40 12q(ej): 32 16 40 40 16zj: 81 113 129 169 209 225
![Page 88: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/88.jpg)
Entropy
Entropy reduction: H=H0H1=log2(0/1)
21=22
0(1 ()),
where 20 is variance of the data x,
21 is variance of the predection error e,
() is correlation coefficient of the pixels xi and xi-1
or H= 0.5log2[2(1 ())].
Example: If () =0.8 log2[2*0.2]=1.3 bits
If () =0.9 log2[2*0.1]=2.3 bits
xi-1
xi
![Page 89: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/89.jpg)
Optimum linear prediction
m
jjiji xax
1
ˆ• 1-D Linear predictor:
• 2-D and 3-D linear predictors
Usually m=3
![Page 90: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/90.jpg)
Part 2. Block Truncation Coding
· Divide the image into 44 blocks;• Quantize the block into two representative values a and b;
• Encode (1) the representative values a and b and (2) the significance map in the block.
3 3 4 14
2 3 12 15
2 11 11 9
2 9 12 15
0 0 0 1
0 0 1 1
0 1 1 1
0 1 1 1
2 2 2 12
2 2 12 12
2 12 12 12
2 12 12 12
Original Bit-plane Reconstructed
x = 7.94
= 4.91
q = 9 a = 2.3
b = 12.3
a=[2.3] = 2b=[12.3]=12
![Page 91: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/91.jpg)
1. How to construct quantizer?
a
b
n
nxa
b
a
n
nxb
• The first two moments preserving quantization:
m
iim xx
1
1
m
iim xx
1
212
222 xx• Threshold for quantization: T=<x>; na+nb=m
bnanxm ba 222 bnanxm ba
![Page 92: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/92.jpg)
2. Optimal scalar quantizer (”AMBTC”)
• Minimize quantization error:
Tx
ia i
xn
a1
Tx
ib i
xn
b1
2
baT
Tx
iTx
iTba
ii
bxaxD 22
,,min
• Max-Lloyd solution:
• How to find the a,b,T? See Max-Lloyd algorithm.
![Page 93: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/93.jpg)
Example of BTC
3 3 4 14
2 3 12 15
2 11 11 9
2 9 12 15
0 0 0 1
0 0 1 1
0 1 1 1
0 1 1 1
2 2 2 12
2 2 12 12
2 12 12 12
2 12 12 12
Original Bit-plane Reconstructed
x = 7.94
= 4.91
q = 9 a = 2.3
b = 12.3
T= 9na=7nb=9
5043722 baD
a=[2.3] = 2b=[12.3]=12
2 3 4 5 6 7 8 9 10 11 12 13 14 15a bT
![Page 94: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/94.jpg)
Example of optimal quantizer (”AMBTC”)
3 3 4 14
2 3 12 15
2 11 11 9
2 9 12 15
0 0 0 1
0 0 1 1
0 1 1 1
0 1 1 1
2 2 2 12
2 2 12 12
2 12 12 12
2 12 12 12
Original Bit-plane Reconstructed
x = 7.94
= 4.91
q = 9 a = 2.3
b = 12.3
T= 9na=7nb=9
2 3 4 5 6 7 8 9 10 11 12 13 14 15
a=[2.7] = 3b=[12.0]=12
3
3
3 3
3 3 3
4743422 baD
ba T
![Page 95: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/95.jpg)
Representative levels compression
• Main idea of BTC:
Image ”smooth part” + ”detailed part” (a and b) (bit-planes)
• We can treat set of a’s and b’s as an image:
1. Predictive encoding of a and b
2. Lossless image compression algorithm
(FELICS, JPEG-LS, CALIC).
3. Lossy compression: DCT (JPEG)
![Page 96: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/96.jpg)
Significance bits compression
Binary image:
• Lossless binary image compression
methods (JBIG, context modeling with
arithemtic coding)
• Lossy image compression (vector
quantization, with sub-sampling and
interpolating missing pixels, filtering)
![Page 97: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/97.jpg)
Bitrate and Block size
The number of pixels in block: k2 pels
• BTC: 1. Values ’a’ and ’b’: (8+8) bits
2. Significance bits: k2 bits
Bitrate: R=(16+k2)/k2 =(1+16/k2) bit/pelExample: k=4: R=(1+16/42) = 2 bit/pel
• Bigger block smaller bitrate R, bigger distortion D
• Smaller block bigger bitrate R, smaller distortion D
Trade-off between Rate and Distortion
![Page 98: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/98.jpg)
Quadtree segmentation
1. Divide the image into blocks of m1m1 size.
2. FOR EACH BLOCK
IF ( < 0) THEN apply BTC
ELSE divide into four
subblocks: m=m/2
3. REPEAT step 2 UNTIL
( < 0) OR m=m2
here m2 is minimal block sizeThe hierarchy of the blocks is represented by a quadtree structure.
![Page 99: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/99.jpg)
Example of BTC
bpp = 2.00 bpp=8 bpp = 1.62mse = 40.51 mse = 15.62
AMBTC HBTC-VQ
Block size: 2x2 .. 32x32Block size: 4x4
![Page 100: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/100.jpg)
JPEG
• JPEG = Joint Photographic Experts Group
• Lossy coding of continuous tone still images (color and
grayscale)• Based on Discrete Cosine Transform (DCT):
0) Image is divided into block NN
1) The blocks are transformed with 2-D DCT
2) DCT coefficients are quantized
3) The quantized coefficients are encoded
![Page 101: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/101.jpg)
JPEG: Encoding and Decoding
SourceImage Data
8x8 blocks
FDCT Q u a n tiz e r E n trop yE n co der
T a b leS p ec if ica tio n s
T a b leS p ecif ica tio n s
CompressedImage Data
IDCTD eq u a n tiz erEntropyDecoder
TableSpecifications
TableSpecifications
Reconstructed Image Data
CompressedImage Data
![Page 102: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/102.jpg)
Divide image into NN blocks
8x8 blockInput image
![Page 103: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/103.jpg)
2-D DCT basis functions: N=8
Low
Low
High
High
Low
High
HighLow
8x8 block
![Page 104: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/104.jpg)
2-D Transform Coding
+
...
y00
y01 y10y12
y23
![Page 105: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/105.jpg)
1-D DCT basis functions: N=8
1.0
0.5
0
-0.5
-1.0
u=01.0
0.5
0
-0.5
-1.0
u=11.0
0.5
0
-0.5
-1.0
u=21.0
0.5
0
-0.5
-1.0
u=3
1.0
0.5
0
-0.5
-1.0
u=41.0
0.5
0
-0.5
-1.0
u=51.0
0.5
0
-0.5
-1.0
u=61.0
0.5
0
-0.5
-1.0
u=7
1
0 2
12cos
N
kj N
kjkCkx
1,...,2,1for 2
0for 1
NkN
kNk
![Page 106: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/106.jpg)
Zig-zag ordering of DCT coefficients
Converting a 2-D matrix into a 1-D array, so that the frequency (horizontal and vertical) increases in this orderand the coefficents variance are decreasing in this order.
AC: Alternating current
DC: Direct current
![Page 107: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/107.jpg)
Example of DCT for image block
Matlab: y=dct(x)
![Page 108: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/108.jpg)
Distribution of DCT coefficients
DC: uniformly distributedAC: distribution resembles Laplacian pdf
DC coefficient AC coefficient
![Page 109: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/109.jpg)
Bit allocation for DCT coefficients
• Lossy operation to reduce bit-rate• Vector or Scalar Quantizer? • Set of optimal scalar quantizers?• Set of scalar quantizers with fixed quantization
tables
![Page 110: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/110.jpg)
Bit allocation for DCT coefficients
N
i
bii
b
i
i
hD1
22
}{2min
subject to
Minimize the total distortition D
BbN
ii
1
331)(12
1 dxxph ii
here bi is number of bits for coefficient yi, B is a given total number of bits,
See Lecture 10
![Page 111: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/111.jpg)
Optimal bit allocation for DCT coefficients
H
h
N
Bb ii
i 22
2
2 log2
1log
2
1
Solution of the optimization task with Lagrange multiplier method:
NN
kk
NN
kk hH
11
0
11
0
22 ;
NBNHD 22
Bitrate:
Distortion:
where
![Page 112: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/112.jpg)
Minimal distortion
NN
kk
11
0
22
NBNHD 22Distortion:
where
Distortion D is minimal, if 2 is minimal. Product of diagonal elements is greater than or equal to the determinant of the (positive semidefinite) matrix.Equality is attained iff the matrix is diagonal. KLT provides minimum of 2 (and minimum of distortion D)
among other transforms!
![Page 113: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/113.jpg)
Default quantization matrix Q
yq(k,l)=round[y(k,l)/Q(k,l)]yq(k,l)=round[y(k,l)/Q(k,l)]
Examples: 236/16 15 -22/11 -2
Matlab: Qy=quant (y)
![Page 114: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/114.jpg)
Quantization of DCT coefficients: Example
Ordered DCT coefficients: 15,0,-2,-1,-1,-1,0,0,-1,-1, 54{’0’}.
![Page 115: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/115.jpg)
Dequantization
z (k,l)=yq(k,l)·Q(k,l)z (k,l)=yq(k,l)·Q(k,l)
Examples: 236/16 15 -22/11 -2
Original DCT blockMatlab: z=dequant (Qy)
![Page 116: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/116.jpg)
Inverse DCT
Original block
See: x=idct(y)
![Page 117: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/117.jpg)
Encoding of quantized DCT coefficients
• Ordered data: 15,0,-2,-1,-1,-1,0,0,-1,-1, 54{’0’}.
• Encoding: DC: ? AC: ?
![Page 118: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/118.jpg)
Encoding of quantized DCT coefficients
• DC coefficient for the current block is predicted of that of the previous block, and error is coded using Huffman coding
• AC coefficients:
(a) Huffman code, arithmetic code for non-zeroes (b) run-length encoding: (number of ’0’s, non-’0’-symbol)
![Page 119: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/119.jpg)
Performance of JPEG algorithm
8 bpp 0.6 bpp
0.37 bpp 0.22 bpp
![Page 120: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/120.jpg)
Compression of color images
![Page 121: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/121.jpg)
RGB vs YCbCr
• 24 bits RGB representation: apply DCT for each component separately - does not make use of the correlation between color components - does not make use of lowe sensitivity of the human eyes to chrominance component
• Convert RGB into a YCbCr representation: Y is luminance, and Yb, Yc are chrominance - Downsample the two chrominance components
![Page 122: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/122.jpg)
RGB YCbCr conversion
Luminance Y and two chrominances Cb and Cr
![Page 123: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/123.jpg)
Chrominance subsampling
4:4:4 4:2:2 4:1:1 4:2:01:1 2:1 Hor 4:1 Hor 2:1 Hor&Vert
Cb and Cr pixelY pixel
![Page 124: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/124.jpg)
Quantization of DCT coefficients
For chrominance For illuminance
![Page 125: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/125.jpg)
Performance of JPEG algorithm
• Grayscale 8 bits images: - 0.5 bpp: excellent quality
• Color 24 bits images: - 0.25-0.50 bpp: moderate to good - 0.50-0.75 bpp: good to very good - 0.75-1.00 bpp: excellent, sufficient for most applications - 1.00-2.00 bpp: indistiniguishable from original
![Page 126: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/126.jpg)
JPEG JPEG2000
For illuminance
JPEG: 0.25 bpp JPEG2000: 0.25 bpp
![Page 127: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/127.jpg)
JPEG 2000
• JPEG 2000 is a new still image compression standard
• ”One-for-all” image codec:
* Different image types: binary, grey-scale, color,
multi-component
* Different applications: natural images, scientific,
medical remote sensing text, rendered graphics
* Different imaging models: client/server, consumer
electronics, image library archival, limited buffer
and resources.
![Page 128: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/128.jpg)
History
• Call for Contributions in 1996
• The 1st Committee Draft (CD) Dec. 1999
• Final Committee Draft (FCD) in March 2000• Accepted as Draft International Standard in Aug. 2000• Published as ISO Standard in Jan. 2002
![Page 129: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/129.jpg)
Key components
• Transform– Wavelet – Wavelet packet– Wavelet in tiles
• Quantization– Scalar
• Entropy coding– (EBCOT) code once, truncate anywhere – Rate-distortion optimization– Context modeling– Optimized coding order
![Page 130: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/130.jpg)
Key components
Visual Weighting Masking
Region of interest (ROI)
Lossless color transform
Error resilience
![Page 131: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/131.jpg)
2-D wavelet transform
Original128, 129, 125, 64, 65, …
Transform Coeff.4123, -12.4, -96.7, 4.5, …
![Page 132: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/132.jpg)
Quantization of wavelet coefficients
Transform Coeff.4123, -12.4, -96.7, 4.5, …
Quantized Coeff.(Q=64)64, 0, -1, 0, …
![Page 133: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/133.jpg)
Quantizer with dead zone
2δ
0
δ
s
snmsnm
1
0n][m, ,
],[],[
Quantized Magnitude Sign
![Page 134: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/134.jpg)
Entropy coding
0 1 1 0 1 1 0 1 0 1 . . .
Coded Bitstream
Quantized Coeff.(Q=64)64, 0, -1, 0, …
![Page 135: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/135.jpg)
EBCOT
• Key features of EBCOT: Embedded Block Coding with Optimized Truncation– Low memory requirement in coding and decoding– Easy rate control– High compression performance– Region of interest (ROI) access– Error resilience– Modest complexity
![Page 136: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/136.jpg)
Block structure in EBCOT
Encode each block separately & record the bitstream of each block.Block size is 64x64.
![Page 137: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/137.jpg)
Progressive encoding
![Page 138: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/138.jpg)
Quantizer with dead zone
2δ
0
δ
s
snmsnm
1
0n][m, ,
],[],[
Quantized Magnitude Sign
![Page 139: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/139.jpg)
ROI: Region of interest
Scale-down the coefficients outside the ROI so those are in lowerer bit-planes.
Decoded or refined ROI bits before the rest of the image.
![Page 140: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/140.jpg)
ROI: Region of interest
• Sequence based code– ROI coefficients are coded as independent sequences– Allows random access to ROI without fully decoding– Can specify exact quality/bitrate for ROI and the BG
• Scaling based mode:– Scale ROI mask coefficients up (decoder scales down)– During encoding the ROI mask coefficients are found
significant at early stages of the coding– ROI always coded with better quality than BG– Can't specify rate for BG and ROI
![Page 141: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/141.jpg)
Tiling
• Image Component Tile Subband Code-Block Bit-Planes
![Page 142: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/142.jpg)
JPEG 2000 vs JPEG
DCT
WT
![Page 143: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/143.jpg)
JPEG 2000 vs JPEG: Quantization
JPEG
JPEG 2000
![Page 144: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/144.jpg)
JPEG 2000 vs JPEG: 0.3 bpp
JPEG 2000
JPEG
![Page 145: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/145.jpg)
JPEG 2000 vs JPEG: Bitrate=0.3 bpp
MSE=150 MSE=73PSNR=26.2 db PSNR=29.5 db
![Page 146: Lecture 14 Image Compression 1.What and why image compression 2.Basic concepts 3.Encoding/decoding, entropy](https://reader035.vdocument.in/reader035/viewer/2022062407/56649dc95503460f94abf036/html5/thumbnails/146.jpg)
JPEG 2000 vs JPEG: Bitrate=0.2 bpp
MSE=320 MSE=113PSNR=23.1 db PSNR=27.6 db