Computer
Vision
Compressão JPEG
Paulo Sérgio Rodrigues
PEL205
Computer
Vision
Compressão JPEG
JPEG é o anacrônico para Joint Photographic Experts Group
Baseia-se nos seguintes passos:
Compressão
Subdivisão da Imagem
em blocos de 8 x 8 pixels
Composição da Imagem
usando os em blocos
de 8 x 8 pixels
Cálculo DCT Inversa
Cálculo de DCT
Quantização com
a matriz de normalização
Da JPEG
Codificação baseada
no tamanho das variáveis
Descompressão
Desquantização com
a matriz de normalização
Da JPEG
Decodificação baseada
no tamanho das variáveis
Computer
Vision
Transformada Discreta de Cosseno
 (2 x  1)u 
 (2 y  1)v 
T (u, v)   g ( x, y ) (u ) (v) cos
cos



2n
2n




x 0 y 0
n 1 n 1
 (2 x  1)u 
 (2 y  1)v 
g ( x, y )   T (u, v) (u ) (v) cos
cos


2n
2n




x 0 y 0
n 1 n 1
 1n for u  0

 (u )   2
for u  1,2,...,n-1

 n
Computer
Vision
Compressão JPEG
Compressão: Passo 1, subdivisão da Imagem em Blocos de 8 x 8 pixels
8x8
8x8
8x8
8x8
8x8
8x8
8x8
8x8
8x8
8x8
8x8
8x8
Computer
Vision
Compressão JPEG
Compressão: Passo 2, Cálculo da DCT em cada Bloco
Exemplo de Bloco 8 x 8
55
52
61
66
70
61
64
73
63
59
66
90
109
85
69
72
62
59
68
113
144
104
66
73
63
58
71
122
154
106
70
69
67
61
68
104
126
88
68
70
79
65
60
70
77
68
58
75
85
71
64
59
55
61
65
83
87
79
69
68
65
76
78
94
Computer
Vision
Compressão JPEG
Compressão: Passo 2, Cálculo da DCT em cada Bloco
Shift de -128
-76
-73
-67
-62
-58
-67
-64
-55
-65
-69
-62
-38
-19
-43
-59
-56
-66
-69
-60
-15
16
-24
-62
-55
-65
-70
-57
-6
26
-22
-58
-59
-61
-67
-60
-24
-2
-40
-60
-58
-49
-63
-68
-58
-51
-65
-70
-53
-43
-57
-64
-69
-73
-67
-63
-45
-41
-49
-59
-60
-63
-52
-50
-34
Computer
Vision
Compressão JPEG
Compressão: Passo 2, Cálculo da DCT em cada Bloco
-415
-29
-62
25
55
-20
-1
3
7
-21
-62
9
11
-7
-6
6
-46
8
77
-25
-30
10
7
-5
-50
13
35
-15
-9
6
0
3
11
-8
-13
-2
-1
1
-4
1
-10
1
3
-3
-1
0
2
-1
-4
-1
2
-1
2
-3
1
-2
-1
-1
-1
-2
-1
-1
0
-1
Computer
Vision
Compressão JPEG
Compressão: Passo 3, Quantização
Matriz de Normalização JPEG
Computer
Vision
Compressão JPEG
Compressão: Passo 3, Quantização
Suponha que um coeficiente DCT encontrado seja: T(0,0) = -415,
De acordo com a matriz de quantização JPEG, o valor correspondente
é Z(0,0) = 16.
Sendo assim, o cálculo do novo valor, quantizado, será:
 T (0,0) 
  415
ˆ
T 0,0  round
 round
 26


 16 
 Z (0,0) 
Computer
Vision
Compressão JPEG
Compressão: Passo 3, Quantização
O principal resultado da quantização é a geração de uma matriz esparssa
-26
-3
-6
2
2
0
0
0
1
-2
-4
0
0
0
0
0
-3
1
5
-1
0
0
0
0
-4
1
2
-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
Computer
Vision
Compressão JPEG
Compressão: Passo 3, Quantização
O que permite algum tipo de codificação eficiente:
-26
-3
-6
2
2
0
0
0
1
-2
-4
0
0
0
0
0
-3
1
5
-1
0
0
0
0
-4
1
2
-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
[-26 -3 1 -3 -2 -6 2 -4
1 -4 1 1 5 0 2 0 -1 2 0
0 0 0 -1 -1 EOB]
Mais de 60% de
Compressão no Bloco
Computer
Vision
Descompressão JPEG
Compressão: Passo 1, Descodificação
[-26 -3 1 -3 -2 -6 2 -4
1 -4 1 1 5 0 2 0 -1 2 0
0 0 0 -1 -1 EOB]
-26
-3
-6
2
2
0
0
0
1
-2
-4
0
0
0
0
0
-3
1
5
-1
0
0
0
0
-4
1
2
-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
Computer
Vision
Descompressão JPEG
Compressão: Passo 2, Desquantização
A desquantização pode ser obtida pela inversa:
T (0,0)  Tˆ (0,0)Z (0,0)  (26)(16)  416
-416
-33
-60
32
48
0
0
0
12
-24
-56
0
0
0
0
0
-42
13
80
-24
-40
0
0
0
-56
17
44
-29
0
0
0
0
18
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
Computer
Vision
Descompressão JPEG
Compressão: Passo 3, cálculo da DCT Infersa
-70
-64
-61
-64
-69
-66
-58
-50
-72
-73
-61
-39
-30
-40
-54
-59
-68
-78
-58
-9
13
-12
-48
-64
-59
-77
-57
0
22
-13
-51
-60
-54
-75
-64
-23
-13
-44
-63
-56
-52
-71
-72
-54
-54
-71
-71
-54
-45
-59
-70
-68
-67
-67
-61
-50
-35
-47
-61
-66
-60
-48
-44
-44
Computer
Vision
Descompressão JPEG
Compressão: Passo 4, Shifting de 128
58
64
67
64
59
62
70
78
56
55
67
89
98
88
74
69
60
50
70
119
141
116
80
64
69
51
71
128
149
115
77
68
74
53
64
105
115
84
65
72
76
57
56
74
75
57
57
74
83
69
59
60
61
61
67
78
93
81
67
62
69
80
84
84
Computer
Vision
Descompressão JPEG
Diferença entre a Imagem (Bloco) original e o descomprimido
-6
-9
-6
2
11
-1
-6
-5
7
4
-1
1
11
-3
-5
3
2
9
-2
-6
-3
-12
-14
9
-6
7
0
-4
-5
-9
-7
1
-7
8
4
-1
11
4
3
-2
3
8
4
-4
2
11
1
1
2
2
5
-1
-6
0
-2
5
-6
-2
2
6
-4
-4
-6
10
< 1% de erro
Download

Exemplo de Bloco 8 x 8