Lossy Compression
By:
Mahmoud Hikmet Bzhar Omer
Supervisor:
Dr.Roojwan Sdiq
Overview
• What's Comparession ?
• What’s lossless and lossy compression ?
• What’s JPEG?
• The Major Steps in JPEG Coding involve:
 Transform RGB to YIQ or YUV and subsample color.
 DCT(Discrete Cosine Transformation).
 Quantization.
 Zig-zag ordering
 DPCM on DC component
 Run-length encoding.
 Entropy coding.
What is Comparession ?
• Compression is the reduction in size of data
in order to save space or transmission time.
Learn how files are compressed .
What’s lossless and lossy
compression ?
• Lossless: The compression of a file, all original
data can be recovered when the file is
uncompressed.
• Lossy : -The compressed data is not the
same as the original data, but a close
approximation of it.
What is JPEG?
• "Joint Photographic Expert Group" -- an
international standard in 1992.
• Works with colour and greyscale images, Many
applications e.g., satellite, medical, ..
JPEG compression involves the following:
DCT : Discrete Cosine Transform
• DCT converts the information contained in a block(8x8)
of pixels from spatial domain to the frequency domain.
1-D DCT: 1-D Inverese DCT:





1N
0n
2N
1)(2n
f(n)cos
2
a(u))F( 
 




1N
0
2N
1)(2n
)cosF(
2
a(u))(f’


n
 0p1a(p)
2
1a(0)


Examplesubimage2*2
154 123
192 186
D
Subtract 128 from each value to convert to signed
26 -5
64 58
D
First Row= 2
1
secondRow= 2N
1)(2n
cos

N/2
1- = 0.7071
2-
2
1
N*2
1)(2n
cos

N/2
D(1,0)= 2*2
*1)0*(2
cos
1
2/2
D(1,0)= 4
cos

D(1,0)=0.7071
D(1,1)= 2*2
*1)1*(2
cos
1
2/2
D(1,1)= 4
cos
3
D(1,1)=-0.7071
0.7071 0.7071
0.7071 -0.7071
T
0.7071 0.7071
0.7071 -0.7071
0.7071 0.7071
0.7071 -0.7071
26 -5
64 58* *
T D -T
63.639 33.234
-26.87 -40.305
0.7071 0.7071
0.7071 -0.7071*
68.5 21.5
-47.5 9.5DCT=
Quantization:
• The quantization step is the main source for loss in JPEG
compression
• Encoder: Each value in the current block is divided by 16
and rounded down to create the quantised block.
• Round(DCT/Q)
68.5 21.5
-47.5 9.5
16 11
12 12
Q
4 2
-4 1
4 2
-4 1
QDCT
Quantization:
• The quantization step is the main source for loss in JPEG
compression.
• Decoder: Each value in the quantised block is multiplied
by quntize block.
4 2
-4 1
QDCT
16 11
12 12*
64 22
-48 12
Q-1
• DCT-1=round(T*Q-1*T)+128
DCT-inverse
0.7071 0.7071
0.7071 -0.7071
0.7071 0.7071
0.7071 -0.7071
26 -5
64 58
T Q-1 -T
* *
11.314 24.041
79.195 7.071 *
0.7071 0.7071
0.7071 -0.7071
=
=
= 25 -9
61 51
+
128 128
128 128
153 119
189 179
=
154 123
192 186
D
- 153 119
189 179
DCT-1
1 4
3 7
=
Zig-Zag Scan
• Why? to group low frequency coefficients in top of vector and high
frequency coefficients at the bottom
−26, −3, 0, −3, −2, −6, 2, −4, 1, −4, 1, 1, 5, 1, 2, −1, 1, −1, 2, 0, 0, 0,
0, 0, −1, −1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, EOB
• The 1x64 vectors have a lot of zeros in them, more so towards the end
of the vector.
• Higher up entries in the vector capture higher frequency (DCT) components
which tend to be capture less of the content.
• Could have been as a result of using a quantization table
• Encode a series of 0s as a (skip,value) pair, where skip is the number of
zeros and value is the next non-zero component.
• Send (0,0) as end-of-block sentinel value.
. . .
1x64
0 0 0 0 0 1 1 0 0 0 0 0
5,1
0 0
7,2
0 . . .2
RLEon AC Components
Run-length encode:
−26, −3, 0, −3, −2, −6, 2, −4, 1, −4, {2 x 1}, 5, 1, 2, −1, 1, −1, 2, {5 x
0} , −1, −1,
• Is based on the frequency of occurance of data item(pixel in image).
• The principle is to use a lower number of bits to encode the data occurs more
frequently.
H(x)= 𝑖=1
𝑛
𝐿𝑃𝑥𝑖
𝑃𝑥𝑖=log 2 xi
𝐿 number of bit for each character.
𝑃𝑥𝑖 entropy for each character.
Huffman Coding
Example
Symbol Xi sorting Xi Symol Code number ofbit
______ __ ______ _____ _____ ___________
A 0.3 0.3 A 00 2
B 0.2 0.23 C 01 2
C 0.23 0.2 B 11 2
D 0.07 0.15 E 010 3
E 0.15 0.07 D 0110 4
F 0.05 0.05 F 1110 4
H(x)= 𝑖=1
𝑛
𝐿𝑃𝑥𝑖
=2log 2 0.3 + 2log 2 0.23 + 2log 2 0.2 + 3log 2 0.15 +
4log 2 0.07 + 4log 2 0.05= -0.21
Thank you

lossy compression JPEG

  • 1.
    Lossy Compression By: Mahmoud HikmetBzhar Omer Supervisor: Dr.Roojwan Sdiq
  • 2.
    Overview • What's Comparession? • What’s lossless and lossy compression ? • What’s JPEG? • The Major Steps in JPEG Coding involve:  Transform RGB to YIQ or YUV and subsample color.  DCT(Discrete Cosine Transformation).  Quantization.  Zig-zag ordering  DPCM on DC component  Run-length encoding.  Entropy coding.
  • 3.
    What is Comparession? • Compression is the reduction in size of data in order to save space or transmission time. Learn how files are compressed .
  • 4.
    What’s lossless andlossy compression ? • Lossless: The compression of a file, all original data can be recovered when the file is uncompressed. • Lossy : -The compressed data is not the same as the original data, but a close approximation of it.
  • 5.
    What is JPEG? •"Joint Photographic Expert Group" -- an international standard in 1992. • Works with colour and greyscale images, Many applications e.g., satellite, medical, ..
  • 6.
  • 7.
    DCT : DiscreteCosine Transform • DCT converts the information contained in a block(8x8) of pixels from spatial domain to the frequency domain. 1-D DCT: 1-D Inverese DCT:      1N 0n 2N 1)(2n f(n)cos 2 a(u))F(        1N 0 2N 1)(2n )cosF( 2 a(u))(f’   n  0p1a(p) 2 1a(0)  
  • 8.
    Examplesubimage2*2 154 123 192 186 D Subtract128 from each value to convert to signed 26 -5 64 58 D First Row= 2 1 secondRow= 2N 1)(2n cos  N/2
  • 9.
    1- = 0.7071 2- 2 1 N*2 1)(2n cos  N/2 D(1,0)=2*2 *1)0*(2 cos 1 2/2 D(1,0)= 4 cos  D(1,0)=0.7071 D(1,1)= 2*2 *1)1*(2 cos 1 2/2 D(1,1)= 4 cos 3 D(1,1)=-0.7071 0.7071 0.7071 0.7071 -0.7071 T
  • 10.
    0.7071 0.7071 0.7071 -0.7071 0.70710.7071 0.7071 -0.7071 26 -5 64 58* * T D -T 63.639 33.234 -26.87 -40.305 0.7071 0.7071 0.7071 -0.7071* 68.5 21.5 -47.5 9.5DCT=
  • 11.
    Quantization: • The quantizationstep is the main source for loss in JPEG compression • Encoder: Each value in the current block is divided by 16 and rounded down to create the quantised block. • Round(DCT/Q) 68.5 21.5 -47.5 9.5 16 11 12 12 Q 4 2 -4 1 4 2 -4 1 QDCT
  • 12.
    Quantization: • The quantizationstep is the main source for loss in JPEG compression. • Decoder: Each value in the quantised block is multiplied by quntize block. 4 2 -4 1 QDCT 16 11 12 12* 64 22 -48 12 Q-1
  • 13.
    • DCT-1=round(T*Q-1*T)+128 DCT-inverse 0.7071 0.7071 0.7071-0.7071 0.7071 0.7071 0.7071 -0.7071 26 -5 64 58 T Q-1 -T * * 11.314 24.041 79.195 7.071 * 0.7071 0.7071 0.7071 -0.7071 = = = 25 -9 61 51 + 128 128 128 128 153 119 189 179 =
  • 14.
    154 123 192 186 D -153 119 189 179 DCT-1 1 4 3 7 =
  • 15.
    Zig-Zag Scan • Why?to group low frequency coefficients in top of vector and high frequency coefficients at the bottom −26, −3, 0, −3, −2, −6, 2, −4, 1, −4, 1, 1, 5, 1, 2, −1, 1, −1, 2, 0, 0, 0, 0, 0, −1, −1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, EOB
  • 16.
    • The 1x64vectors have a lot of zeros in them, more so towards the end of the vector. • Higher up entries in the vector capture higher frequency (DCT) components which tend to be capture less of the content. • Could have been as a result of using a quantization table • Encode a series of 0s as a (skip,value) pair, where skip is the number of zeros and value is the next non-zero component. • Send (0,0) as end-of-block sentinel value. . . . 1x64 0 0 0 0 0 1 1 0 0 0 0 0 5,1 0 0 7,2 0 . . .2 RLEon AC Components Run-length encode: −26, −3, 0, −3, −2, −6, 2, −4, 1, −4, {2 x 1}, 5, 1, 2, −1, 1, −1, 2, {5 x 0} , −1, −1,
  • 17.
    • Is basedon the frequency of occurance of data item(pixel in image). • The principle is to use a lower number of bits to encode the data occurs more frequently. H(x)= 𝑖=1 𝑛 𝐿𝑃𝑥𝑖 𝑃𝑥𝑖=log 2 xi 𝐿 number of bit for each character. 𝑃𝑥𝑖 entropy for each character. Huffman Coding
  • 18.
    Example Symbol Xi sortingXi Symol Code number ofbit ______ __ ______ _____ _____ ___________ A 0.3 0.3 A 00 2 B 0.2 0.23 C 01 2 C 0.23 0.2 B 11 2 D 0.07 0.15 E 010 3 E 0.15 0.07 D 0110 4 F 0.05 0.05 F 1110 4 H(x)= 𝑖=1 𝑛 𝐿𝑃𝑥𝑖 =2log 2 0.3 + 2log 2 0.23 + 2log 2 0.2 + 3log 2 0.15 + 4log 2 0.07 + 4log 2 0.05= -0.21
  • 19.