Computer Vision Compressão JPEG Paulo Sérgio Rodrigues PEL205.

16
Computer Vision Compressão JPEG Paulo Sérgio Rodrigues PEL205

Transcript of Computer Vision Compressão JPEG Paulo Sérgio Rodrigues PEL205.

Page 1: Computer Vision Compressão JPEG Paulo Sérgio Rodrigues PEL205.

ComputerVision

Compressão JPEG

Paulo Sérgio RodriguesPEL205

Page 2: Computer Vision Compressão JPEG Paulo Sérgio Rodrigues PEL205.

ComputerVision Compressão JPEG

JPEG é o anacrônico para Joint Photographic Experts Group

Baseia-se nos seguintes passos:

Subdivisão da Imagem em blocos de 8 x 8 pixels

Quantização com a matriz de normalizaçãoDa JPEG

Cálculo de DCT

Codificação baseadano tamanho das variáveis

Compressão

Decodificação baseadano tamanho das variáveis

Desquantização com a matriz de normalizaçãoDa JPEG

Cálculo DCT Inversa

Composição da Imagem usando os em blocos de 8 x 8 pixels Descompressão

Page 3: Computer Vision Compressão JPEG Paulo Sérgio Rodrigues PEL205.

ComputerVision

Transformada Discreta de Cosseno

1212

0)(

2

)12(cos

2

)12(cos)()(),(),(

2

)12(cos

2

)12(cos)()(),(),(

1

1

0

1

0

1

0

1

0

,...,n-, for u n

for u u

n

vy

n

uxvuvuTyxg

n

vy

n

uxvuyxgvuT

n

n

x

n

y

n

x

n

y

Page 4: Computer Vision Compressão JPEG Paulo Sérgio Rodrigues PEL205.

ComputerVision Compressão JPEG

Compressão: Passo 1, subdivisão da Imagem em Blocos de 8 x 8 pixels

8 x 8 8 x 8 8 x 8 8 x 8

8 x 8 8 x 8 8 x 8 8 x 8

8 x 8 8 x 8 8 x 8 8 x 8

Page 5: Computer Vision Compressão JPEG Paulo Sérgio Rodrigues PEL205.

ComputerVision 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

Page 6: Computer Vision Compressão JPEG Paulo Sérgio Rodrigues PEL205.

ComputerVision 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

Page 7: Computer Vision Compressão JPEG Paulo Sérgio Rodrigues PEL205.

ComputerVision 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

Page 8: Computer Vision Compressão JPEG Paulo Sérgio Rodrigues PEL205.

ComputerVision Compressão JPEG

Compressão: Passo 3, Quantização

Matriz de Normalização JPEG

Page 9: Computer Vision Compressão JPEG Paulo Sérgio Rodrigues PEL205.

ComputerVision 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á:

2616

415

)0,0(

)0,0(0,0ˆ

round

Z

TroundT

Page 10: Computer Vision Compressão JPEG Paulo Sérgio Rodrigues PEL205.

ComputerVision 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

Page 11: Computer Vision Compressão JPEG Paulo Sérgio Rodrigues PEL205.

ComputerVision 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% deCompressão no Bloco

Page 12: Computer Vision Compressão JPEG Paulo Sérgio Rodrigues PEL205.

ComputerVision Descompressão JPEG

Compressão: Passo 1, Descodificação

-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]

Page 13: Computer Vision Compressão JPEG Paulo Sérgio Rodrigues PEL205.

ComputerVision Descompressão JPEG

Compressão: Passo 2, Desquantização

-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

A desquantização pode ser obtida pela inversa:

416)16)(26()0,0()0,0(ˆ)0,0( ZTT

Page 14: Computer Vision Compressão JPEG Paulo Sérgio Rodrigues PEL205.

ComputerVision 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

Page 15: Computer Vision Compressão JPEG Paulo Sérgio Rodrigues PEL205.

ComputerVision 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

Page 16: Computer Vision Compressão JPEG Paulo Sérgio Rodrigues PEL205.

ComputerVision 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