Compressão de Imagem Digital
Joaquim Macedo
Departamento de Informática da Universidade do Minho
Sumário








Princípios de Compressão de Imagem
Compressão de Imagem de Baixa Complexidade
Codificação de Transformada
Outras Técnicas de Codificação
Normas de Compressão de Imagem
Norma JPEG
Norma JPEG 2000
Formatos de Imagem
Princípios para Compressão de Imagem

Remover vários tipos de Redundâncias





Estatística
Espacial
Estrutural
Conhecimento
Psico-Visual
Tipos de Compressão

Sem perdas

Reversível




Imagem Reconstruída = Imagem Original
Baixa taxa de compressão ( < 3:1)
Aplicações: Imagens médicas e de satélite
Com perdas

Irreversível



Imagem Reconstruída = Imagem Original+ Ruído
Taxas de compressão levadas
Diversas aplicações: WWW,....
Compressão de Baixa Complexidade
Codificação de Entropia
Cofidicação Run-Length
Codificação Preditiva

Codificação baseada na entropia
Função densidade de probabilidade da imagem da Lena
Entropia = 7.45 bits/pixel  Não muito ganho
Contudo quando a codificação baseada na entropia é combinada com
Outros métodos torna-se muito eficaz (veremos mais tarde)
Codificação Run-Length


Técnica de compressão eficaz em imagem
com símbolos idênticos consecutivos
Run= sequência de pixels com valores
idênticos


Em vez de codificar pixel a pixel é codificado um
run de cada vez
Exemplo de aplicação

Imagens FAX
Exemplo 8.1

Considere a codificação Run-Length duma
imagem FAX cujas primeiras linhas de
varrimento são mostras a seguir
ImagemFAX={11111111111000000000000000000
011111111111111111
0000000000000011111111111111111111000000000
0000000}
Código RLC=[....11,22,17,EOL,0,14,20,16,EOL,...]

Codificação Run-Length
T amanhomédio dos runs
L
_
I b   l. pb (l )
l 0
_
L
I w   l. pw (l )
l 0
Ent ropia
L
L
l 0
l 0
hb   pb (l ) log2 pb (l ) hw   pw (l ) log2 pw (l )
Relação de Compressão
_
_
Ib Iw

hb  hw
Codificação Preditiva


Explorar a previsibilidade e regularidade
dos dados
DPCM


extendido a 2D para codificar imagens
Preditores típicos
^
s n  0.97sn 1 P reditorde 1ª ordem,1D
^
s m, n  0.48sm ,n 1  0.48sm 1,n P reditorde 2ª ordem,2D
^
s m, n  0.8sm,n 1  0.62sm 1,n 1  0.8sm 1,n P reditorde 3ª ordem,2D
Codificação DPCM
Similar à codificação áudio preditiva, mas extendida a 2D
A1
A2
A3
X
Predição Linear
X = 0.97* A3
X = 0.49*A3 + 0.49*A2
X = 0.9*A3 – 0.81*A1 + 0.9*A2
Exemplo 8.2

Usando o preditor de 3ª ordem do
exemplo anterior, calcule o erro da
saída previsível para a seguinte imagem
4x4. Assuma a inexistência de erro de
quantificação do sinal
20
18

19

17
21
19
15
16
22
20
14
15
21
19
16

13
Solução do Exemplo 8.2
Usar para a primeira fila e primeira coluna o
preditor de 1ª ordem
 Para as outras filas e colunas o de 3ª ordem 2D.
 Saída DPCM calculada subtraindo a saída predita
com os valores originais
19.4 20.37 21.34
1.6
1.63  0.34
 20
 X
 19.4 18.8 19.78 19.16
  1.4

0
.
20
0
.
22

0
.
16




17.46 19.24 16.22 14.00
 1.54  4.24  2.22 2.00 




0.30  3.12
18.43 13.82 14.70 16.2 
 1.43 2.18

Saída prevista
Saída DPCM
Saída DPCM
Valores originais
20
18

19

17
21
19
15
16
22
20
14
15
21
19
16

13
Valores predictos– assumindo que
Os valores de errro são aramzenados
exactamente
19.4 20.37 21.34
 20
 19.4 18.8 19.78 19.16


17.46 19.24 16.22 14.00


18
.
43
13
.
82
14
.
70
16
.
12


Valores de erro
1 .6
1.63  0.34
 X
  1.4 0.20

0
.
22

0
.
16


 1.54  4.24  2.22 2.00 


0.30  3.12
 1.43 2.18
Transmissor DPCM
Original
Image +
sn
en
Quantizer
eˆn
Compressed
Coder
-
sˆn
Predictor
sn
+
Image
Receptor DPCM
Channel
Decoder
eˆn
+
Reconstructed Image
sn
sˆn
Predictor
Codificação DPCM da imagem da
Lena
39
PSNR (in dB)
38
37
36
35
34
Error Image
33
32
0.3
0.6
0.9
1.2
Bit-rate (in bits/pixel)
1.5
Codificação de Transformada
Unitária
De Bloco
Wavelet
Comparação DCT e DWT

Transformada Discreta de Fourier 2-D
1
F (u, v) 
N
1
f ( x, y) 
N
N 1 N 1
 f ( x, y) exp[ j 2 (ux  vy) / N ]
u, v  0,1,......N  1
x 0 y 0
N 1 N 1
 F (u, v) exp[j 2 (ux  vy) / N ]
u 0 v 0
x, y  0,1,......N  1
Imagem da Lena e o seu espectro
Esquema de Codificação de Transformada
Imagem de
Entrada
Transmissor
Transformada 2D
Quantificador

Codificador de
Entropia
_

  Mat rizde coeficientes da t ransformada

  Mat rizde coeficientes da t ransformada quant ificados
^
  Mat rizde coeficientes da t ransformada reconst ruída
Transformada
Inversa 2-D
Imagem Reconstruída
^

Desquantificador
_

Descodificador
de Entropia
Receptor
Canal
Quantização e Codificação
 A quantificação, alocação de bits e codificação deve ser feita com
cuidado para se conseguir um bom desempenho de compressão.
 O principal objectivo é minimizar o erro quadrático médio da
imagem reconstruída.
 Dependendo das características estatísticas dos coeficientes da
transformada, pode ser usado um quantificador não uniforme.
Contudo, conceber tal quantificador pode ser difícil pelo facto de ser
dependente dos dados.
Na maioria dos casos, para quantizar os coeficientes de transformada
é usado um quantificador não uniforme fixo.
 Os coeficientes quantizados são então codificados usando codificação
baseada na entropia.
Transformada unitária

As transformadas não unitárias


têm uma capacidade muito boa de compactação
da energia
As transformadas unitárias

Para além da compactação da energia, tem
propriedades muito úteis nas aplicações de
codificação de imagens


A energia total no domínio da frequência é igual à
energia total no domínio espacial
O MSE de quantificação é igual ao MSE da reconstrução
TU: Propriedades mais importantes
i) Energia total no domínio da frequência é igual à energia total
no domínio espacial (Teorema de Parseval)
N 1 N 1
 s(m, n)
m0 n 0
2
N 1 N 1
   (i, j )
2
i 0 j 0
ii) O MSE na reconstrução é igual ao MSE da quantização
N 1 N 1
N 1 N 1
ˆ(i, j )
ˆ
s
(
m
,
n
)

s
(
m
,
n
)


(
i
,
j
)




m0 n 0
2
i 0 j 0
2
Transformada Óptima

Há muitas transformadas de imagem

É necessário encontrar a que tem máximo
desempenho de compressão

A que elimina completamente a correlação dos
dados de imagem de entrada


Matriz de auto-correlação é diagonal
Empacota os dados de entrada num pequeno
número de coeficientes
 Se calcularmos a energia dos primeiros L
coeficientes para várias transformadas
 A óptima tem máxima energia
Transformada Óptima

A transformada unitária que satisfaz os
2 critérios é a Karhunen-Loeve (KLT)

A KLT é



Dependente da imagem
Tem complexidade computacional alta
Na prática, usam-se transformadas subóptimas


DFT, DCT
Baixa complexidade computacional
Que Transformada?
Transformada
Desempenho
Comentários
Karhunen Loeve
Melhor
Alta Complexidade
Transformada
Excelente
Discreta do Coseno
Média
Complexidade
Wavelet discreta
Excelente
Média
Complexidade
Transformada de
Fourier Discreta
Boa
Complexidade
Média
Hadamard
Boa
Baixa
Complexidade
Transformada Discreta do Coseno
(2 x  1)u 

F (u )   (u ) f ( x) cos

2N


x 0
N 1
 1/ N
 (k )  
 2/ N
k 0
1 k  N 1
(2 x  1)u 

f ( x)   (u ) cos
F (u )

2N


u 0
N 1
 1/ N
k 0
 2/ N
1 k  N 1
 (k )  
u  0,1,......N  1
x  0,1,......N  1
Transformadas sub-óptimas
DCT

DCT

Desempenho da taxa de distorção


Para imagens naturais que têm uma taxa alta de
correlação


Próximo da KLT
DCT é virtualmente não distinguível da KLT
Tem uma concretização eficiente



Como a DFT
Complexidade O(N logN) para transformadas de N
pontos
Ao contrário da DFT

Evita a geração de dos componentes espectrais falsos nas
arestas
Transformadas sub-óptimas
DCT

Foi adoptado como núcleo para as normas de
codificação de imagem e vídeo


JPEG, MPEG, H.261
DCT da sequência Nx1


está relacionada com a DFT da sequência 2N-1
impar simétrica
Devido a esta relação o sinal reconstruído a partir
dos coeficientes DCT preserva melhor as arestas
Exemplo 8.4

Considere um sinal com oito pontos
[ 0 2 4 6 8 10 12 14].
a)
b)
c)
Calcule a DFT e a DCT do sinal
Para compressão do sinal ignore os três
coeficientes mais pequenos das 2
transformadas e reconstrua o sinal.
Compare os resultados.
Solução do Exemplo 8.4
Sinal Original
0 2 4 6 8 10
12
14
DCT
DFT
20 7 4 3 3 3
4
7
20 –13 0 -1 0 0 0 0
20 7 4 0 0 0
4
7
20 –13 0 -1 0 0 0 0
3 0 4 7 7 10 14 11
0 2 4 6 8 10 12 14
Sinais Reconstruídos
Solução do Exemplo 8.4
Preservação dos contornos
DCT versus DFT
Amplitude
15
10
Original
DFT
5
DCT
0
1
2
3
4
5
6
7
8
Amostras
A DCT preserva mehlor os contornos que a DFT.
Transformada de Bloco

DCT e DFT


Eficientes para explorar a natureza de baixa
frequência da imagem
Maior desvantagem

As funções de base são muito longas

Quantificação dos coeficientes são visíveis em toda a
imagem
 Pouco importante para os coeficientes de LF
codificados com precisão
 Afecta a qualidade das arestas na imagem
recosntruída, porque os coeficentes HF são
codificados grosseiramente
Desvantagens da Transformada de
Fourier
 As transformadas de Fourier e derivadas disponibilizam uma boa
compactação da energia.
Contudo, a maior desvantagem destas transformadas e que as funções
de base são muito longas.
Então, se o coeficiente da transformada é quantizada, o efeito é visível
através da imagem.
 Isto é especialmente verdadeiro para os coeficientes de alta frequência
que são quantizados de forma grosseira.
Um contorno escarpado de uma imagem é representado por muitos
coeficientes da transformada da alta frequência.
Quando os coeficientes de alta frequência são quantizados de forma
grosseira, os contornos não são reconstruídos de forma apropriada 
reconstrução pobre da imagem.
Transformada de Bloco

Uma aresta viva na imagem


Representada por muitos coeficientes da
transformada
Uma imagem é um sinal não estacionário


Diferentes partes da imagem têm diferentes
propriedades estatísticas
Se a transformada for calculada sobre toda a
imagem a não estacionaridade é perdida
 Para minimizar o impacto das tuas desvantagens, são
usadas geralmente técnicas de codificação de bloco.
Transformada de Bloco

Normalmente

Implementações de DFT e DCT trabalham por
blocos de 8x8 ou 16x16

Cada bloco é transformado, quantificado e codificado
separadamente
 Efeito de quantificação limitado ao bloco
 Menor complexidade computacional
Exemplo: Cálculo da Complexidade
 Considere uma imagem a 512x512.
 Calcule a complexidade dum cálculo duma DFT 2-D usando o
método radix-2 da FFT.
 Divida a imagem e blocos 8x8.
 Calcule a complexidade do cálculo 2-D DFT calculation para todos
os blocos.
 Compare as duas complexidades.
Cálculo da Complexidade
DFT 2-D da imagem inteira (512x512)
Complexidade N x N DFT = Complexidade 2N, N-point 1-D DFT
= N 2 log2 N
operações butterfly
= 2N  ( N / 2) log2 N operações butterfly
2-D Block Transform = 2.4 x 106 butterfly quando N=512
Se a imagem é dividida em blocos de 8x8, há 4096 blocos.
Complexdade da DFT 2-D para cada bloco 8x8 = 192 operações.
Complexidade global = 4096*192 =0.79 x 106 operações butterfly .
Comentários
A transformada de bloco reduz a complexidade para 1/3.
Transformada de Bloco
Transformada de Bloco
Desvantagens


Estrutura em blocos visível na imagem
Fenómeno de Gibbs


Perda de contraste quando os coeficientes
de alta frequência têm erros de
quantificação
Limite superior na taxa de compressão

Necessidade dum termo DC de alta
resolução e coeficientes de baixa
frequência por bloco
Transformadas Wavelet

Tornaram-se bastante populares no
processamento de imagens

São eficientes na representação de sinais não
estacionários




Janela adaptável tempo-frequência
Alta descorrelação e compactação de energia
Redução dos artefactos do bloco e ruído do
mosquito (efeito de Gibbs)
As funções de base para wavelet adaptam-se ao
sistema visual humano
Transformadas Wavelet

Unitárias ou não Unitárias


Decomposição Wavelet




Dyadic: só a baixa escala é decomposta recursivamente
Regular: decomposição completa
Irregular
Tamanho da árvore de decomposição depende de



Unitárias permitem taxa de compressão superior
Tamanho da imagem
Número de derivações de filtros wavelet
Decomposição eficiente

Nº de filas e colunas da banda >= ao nº de derivações
de filtros
Decomposição Wavelet
DWT:Decomposição de imagens

Escala 1

4 sub-bandas
LL1, HL1, LH1, HH1

Cada coeficiente

Corresponde a uma
área 2*2 na imagem
original

Baixas Frequências

Altas Frequências:
0    / 2
 / 2  
LL1
HL1
LH1
HH1
DWT:Decomposição de imagens

Escala 2



HL2
4 sub-bandas
HL1
LH2
LL , HL , LH , HH
2
2
2
2
Cada coeficiente


LL2
Área 2x2 da imagem
na escala 1
HH2
LH1
HH1
Baixas frequências
0    / 4
Num nível de escala mais
Altas Frequências grosseira, os coeficientes
 / 4   / 2
representam uma maior
área espacial mas uma menor
gama de frequência
DWT:Decomposição de imagens



Pais
Filhos
Descendentes


Coeficientes
correspondentes a
escalas mais finas
LL3
HL3
HL2
LH3
HH3
LH2
HL1
HH2
LH1
HH1
Ascendentes

Coeficientes
correspondentes a
escalas mais grossas
Dependências pai-filho de sub-bandas: setas entre
sub-bandas dos pais para sub-bandas dos filhos
DWT:Decomposição de imagens

Característica 1

Distribuição da
energia similar a
outras CT


HL3
HL2
LH3
HH3
LH2
HL1
HH2
Concentrada nas BF
Característica 2

LL3
Auto-similaridade
espacial entre subbandas
LH1
HH1
A ordem de varrimento das sub-bandas
para codificação do mapa
características significativas.
Quantização
1 2
2 2
4
4
4
8
8
8
Baixa compressão
Taxa de bits alta
8 16
16 16
32
32
32
64
64
64
Alta Compressão
Taxa de bits baixa
Fdp dos coeficientes wavelet
Fdp da banda HH para os coeficientes da imagem da Lena imag
Desempenho da Compressão
 A entropia da banda HH da imagem da Lena = 3.67 bits/pixel.
 Se esta banda for codificada sem quantização, pode ser conseguida
uma relação de compressão de 2.2:1 (relativamente à taxa PCM de 8
bits/pixel)
 Se os coeficientes forem quantificados com um tamanho de passo de
8 a entropia decresce ainda mais 0.86 bits/pixel  C.R.= 9.3:1.
 O desempenho base de compressão num esquema de codificação de
transformada é conseguido reduzindo a entropia global dos
ecoeficientes quantizando os coeficientes passa alto.
DWT versus DCT

DCT

Anomalias nas arestas




Muitos coeficientes a zero e energia insignificante
Muitos bits para a tendência, o normal, poucos bits para
“anomalias”
Problemas na codificação a débitos muito baixos:
artefatos de bloco
DWT



Disponível tanto a informação do normal como das
anomalias
Dificuldade principal: coeficientes de detalhe fino nas
anomalias conduz a um maior nº de coeficientes
Problema: como representar eficientemente a
informação de posição?
DCT versus DWT


Sãos as 2 transformadas mais
importantes na codificação de imagens
Embora possam parecer diferentes, há
algumas similaridades.
Exemplo 8.6

Considere a imagem da Lena 512x512. Divida
a imagem em blocos não sobrepostos 8x8.



Calcule o DCT de cada bloco e a energia média do
componente DC e 63 coeficientes AC.
Decomponha a imagem em 3 estágios usando a
wavelet Daub-4. Calcule a energia média das
banda passa-baixo e da nona passa-lato
Compare os dois conjuntos de energias
Comparação do DCT e DWT
Coeficientes DCT rearranjados
em bandas de igual frequência
Coeficientes DWT
Primeiras 4 bandas
Compactação da energia no
DCT
1055
53
21
12
7
5
3
3
86
37
21
12
7
5
3
3
40
25
19
11
7
5
3
3
22
17
13
9
7
4
3
3
15
11
9
7
5
4
3
3
10
8
7
5
4
3
3
3
7
6
5
4
3
3
3
3
Lena 512x512, blocos DCT 8x8
5
4
4
3
3
3
3
2
Compatação da Energia no DWT
Daub-4, 3 stages, Lena 512x512
1057 70.9
42.2 32.6
15.7
26.4
8.4
11.3
5.4
3.4
DCT versus DWT
Compactação da Energia
1055
86
40
22
15
10
7
5
1057 70.9
57
37
25
17
11
8
6
4
42.2 11.3
21
21
19
13
9
7
5
4
12
12
11
9
7
5
4
3
7
7
7
7
5
4
3
3
5
5
5
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
2
DCT
15.7
26.4
8.4
11.1
5.4
3.4
DWT
Média da raiz quadrada da média da energia (RMSE)
Outras Técnicas de Codificação
Vector de Quantificação
Compressão de Imagem com
Fractais

Vector de Quantização
 A imagem é segmentada em blocos de pixels (2x2, 4x4, 8x8)
 O codificador atribui uma etiqueta para bloco.
 A etiqueta é armazenada na imagem compactada em vez do bloco.
 Uma vez que a etiqueta necessita menos bits para ser representada, pode-se
conseguir uma compressão superior.
 Tanto o codificador como o descodificador usam um dicionário
para gerar etiquetas.
Vectores de quantização
Esquema simplificado
Vector de
Entrada
Regra do
Vizinho mais
próximo
Etiqueta i
Tabela de
Lookup
Canal
wxyz
wxyz
wxyz
N
N
...
wxyz
Livro de código
wxyz
wxyz
wxyz
K
...
wxyz
Livro de código
K
Vector
Reconstruído
Livro de Códigos Universal
Se gerar o livro de código para cada imagem, tem que se enviar o
Livro de código juntamente com a imagem
A taxa de bits aumenta
Solução?
Usar um livro de códigos Universal
Seleccionar um número grande de imagens, e divide-as em
blocos. Gere um livro de código de tal forma que minimize o
MSE geral sobre a imagem.
Compressão de Imagens por Fractais

Fractal



é uma imagem duma textura ou forma expressa como
uma ou mais fórmulas matemáticas
Forma geométrica cujos detalhes irregulares ocorrem em
diferentes escalas e ângulos que podem ser descritos por
transformações fractais.
A compressão baseada em fractais


determina um conjunto de fractais que descrevam ou
representem uma imagem digital
Dependente da imagem e complexa computacionalmente


Concretizações muito rápidas em hradwrae
Complexidade assimétrica

Mais complexa a codificação
Limitações
 A codificação fractal é dependente da imagem
 Para cada imagem, é especificado um conjunto distinto de regras
 A codificação fractal é também uma técnica computacionalmente
intensivo.
Contudo, as computações necessárias são iterativas e tornam possível
concretizações hardware de altamente eficiente.
 Codificação fractal é altamente assimétrico
-- Complexidade do descodificador << Complexidade do
descodificador
Normas para Compressão de
Imagens
Normas de Compressão de Imagens
Imagens 2-níveis (Preto e Branco):
 MH Fax Coder
 MREAD Fax Coder
 JBIG-1 Standard (1980+)
 JBIG-2 Standard (1990+)
Níveis de cinzento/Imagens a cores :
 JPEG
 JPEG-2000
Normas Fax MH e MREAD
Velocidade Pixels/
de
Quadro
varrimento
Bits/Pixel Tamanho não
compactado
100 dpi
850x1100
1
0.935 MBits
200 dpi
1700x2200
1
3.74 MB
Codificador Fax MH :
 Usa o Run Length Coding 1-D
 Fornece uma compressão 20:1 em documentos de texto simples
Codificador Fax MREAD :
 Usa o Run Length Coding 2-D(25% melhoria relativo ao MH)
Os codificadores Fax MH e MREAD Fax Coder não têm bom
desempenho para texto escrito à mão e imagens contínuas
Introdução ao JPEG
O contexto




JPEG são as iniciais de Joint Photographic Expert
Group, formado em 1986
O Grupo desenvolveu a norma de compressão JPEG
para disponibilizar qualidade alta de compressão para
imagens em tons de cinzento e a cores.
É necessário um método de compressão de imagens
normalizado para permitir a inter-operação entre
máquinas de diferentes fabricantes.
É a primeira norma de compressão internacional para
imagens de tom contínuo (preto e branco ou a
cores).
Introdução ao JPEG
Qual é o objectivo?

“muito boa” ou “excelente”




Taxa de compressão, qualidade da imagem reconstruída e
débito de transmissão
Ser aplicável a praticamente qualquer éspecie de
imagem digital de tom contínuo
Nível bom de complexidade
Ter os seguintes modos de operação




Codificação
Codificação
Codificação
Codificação
sequencial
progressiva
sem perdas
hierárquica
Esquema do Codificador JPEG
Blocos 8x8
DCT
Imagem
Original






Quantizer
Quantizador
Quantization
Tabela
Table
Quantização
DCT (Transformada Discreta do Coseno)
Quantização
Varrimento Zigzag
DPCM no componente DC
RLE nos componentes AC
Codificação de Entropia
Codificador
Entropy
deCoder
entropia
Tabela
VLC
Table
VLC
Cadeia de bits
compactada
Dados de Entrada 8x8
Gama dinâmica = [0, 255],
Média=~ 128
104
108 107 101
94
95
98
102
96
100 103 100
96
74
75
73
77
69
70
87
84
64
64
67
71
60
52
59
64
56
54
57
58
53
51
54
52
51
52
52
53
50
53
52
52
58
51
47
48
53
53
51
53
55
51
53
47
48
48
47
55
47
51
48
Dados de entrada -128
-24
-20 -21 -27 -34 -33 -30 -26
-32
-28 -25 -28 -32 -54 -53 -55
-51
-59 -58 -41 -44 -64 -64 -61
-57
-68 -76 -69 -64 -72 -74 -71
-70
-75 -77 -74 -76 -77 -76 -76
-75
-78 -75 -76 -76 -70 -77 -81
-80
-75 -75 -77 -75 -73 -77 -75
-81
-80 -80 -81 -73 -81 -77 -80
Coeficientes 8x8 DCT
-495 20
-8
0
10
-1
-3
3
135
22
-3
-9
7
1
-3
0
59
1
-1
-10
-9
-3
-1
3
17
-3
9
-3
-14
1
6
-4
-5
-7
14
3
-2
0
-1
0
2
-10
7
3
0
-2
2
-4
-2
-9
-1
3
3
3
1
-2
1
-7
0
-4
2
2
-1
-2
Matriz de Quantização
F'[u, v] = round ( F[u, v] / q[u, v] ).
Exemplo: 101101 = 45 (6 bits).
q[u, v] = 4 --> Truncate to 4 bits: 1011 = 11.
Matriz de Quantização
Tabela de luminância Q.
16
11
10
16
24
40
51
61
12
12
14
19
26
58
60
55
14
13
16
24
40
57
69
56
14
17
22
29
51
87
80
62
68
10
9
10
3
77
18
22
37
56
Tabela de Crominância Q.
17
18
24
47
99
99
99
99
18
21
26
66
99
99
99
99
24
26
56
99
99
99
99
99
47
66
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
24
35
55
64
81
10
4
11
3
92
49
64
78
87
10
3
12
1
12
0
10
1
99
99
99
99
99
99
99
99
72
92
95
98
11
2
10
0
10
3
99
99
99
99
99
99
99
99
99
Coeficientes Quantizados
Coeficientes DC
-31
11
4
1
0
0
0
0
2
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Coeficientes AC
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
Varrimento Zigzag
[-496 22 132 56 24 -10 0 0 0 14 EOB]
[ -31 2 11 4 2 -1 0 0
0 1 EOB ]
Codificação dos coeficientes
quantizados
Differential Pulse Code Modulation (DPCM) para componente DC
 O componente DC é grande e variado, mas amiúde próximo do valor
precedente
Codifique a diferença dos blocos 8x8 prévios -- DPCM
Run Length Encode (RLE) para componente AC
 O vector 1 x 63 vector tem grande número de zeros
 Guarde o salto e o valor, onde salto é o número de zeros e o valor
o próximo componente diferente de zero
Envie (0,0) como valor que indica fim de bloco.
Coeficientes dequantizados
-496
22 -10
0
0
0
0
0
132
24
0
0
0
0
0
0
56
0
0
0
0
0
0
0
14
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
0
0
Coeficientes DCT Inversos
-20
-20
-22
-24
-28
-33
-37
-39
-32
-33
-34
-36
-39
-44
-47
-50
-50
-50
-51
-52
-55
-59
-62
-64
-65
-64
-64
-65
-67
-70
-73
-75
-73
-73
-72
-72
-73
-75
-77
-79
-77
-77
-75
-75
-75
-76
-77
-79
-80
-79
-77
-76
-75
-76
-77
-78
-81
-80
-78
-77
-76
-76
-77
-77
Coeficientes + 128
108
108
106
104
100
95
91
89
96
95
94
92
89
84
81
78
78
78
77
76
73
69
66
64
63
64
64
63
61
58
55
53
55
55
56
56
55
53
51
49
51
51
53
53
53
52
51
49
48
49
51
52
53
52
51
50
47
48
50
51
52
52
51
51
Erros nos pixéis reconstruídos
-4
0
1
-3
-6
0
7
13
0
5
9
8
7
-10
6
-5
-1
-9
-7
11
11
-5
-2
3
8
-4
-12
-4
3
-2
-1
4
3
-2
-5
-2
-3
-2
1
3
2
-1
0
-1
-1
6
0
-2
0
4
2
-1
0
3
0
3
0
0
-2
-4
3
-5
0
-3
Erro = Original – Reconstruído
Imagens JPEG – Lena a níveis cinzento
0.9 bpp
0.25 bpp
0.37 bpp
0.56 bpp
0.13 bpp
Imagens JPEG – Lena a cores
0.95 bpp
0.53 bpp
0.36 bpp
0.18 bpp
Desempenho Típico do JPEG
Bits/Pixel
Qualidade
>=1.5
Não distingível
Relação de
compressão
6:1
1
Excelente
8:1
0.75
Muito bom
10:1
0.50
Bom
16:1
0.25
Pobre
32:1
Deficiências do JPEG
 Fraco desempenho a baixa taxa de bits (<0.25 bpp)
 Não eficiente na compressão imagens contínuas ou de dois níveis
 Falta de protecção dos direitos de autor das imagens
 Falta de robustez a erros de bits
Norma JPEG-2000
Funcionalidades do JPEG-2000
 Compressão com perdas a sem perdas numa única cadeia de código
Codificação dinâmica/estática de regiões de interesse com alta
qualidade
 Codificação resistente a erros
 Escabilidade espacial e da qualidade
 Descrição baseada no conteúdo
Esquema do Algoritmo JPEG2000
Compressed
Output
Original
Image
Wavelet
Transform
Scanning
Quantization
Rate
Allocation
Entropy
Coding
Coeficientes de Filtros de Análise e
Síntese
Le Gall 5/3
Coeficientes de Filtro Daubechies 9/7
Sub-bandas e Códigos de Bloco
LL(2) HL(2)
CB1
CB1
LH(1)
HH(1)
CB2
HL(1)
HL(1)
LH(2) HH(2)
CB1
CB1
CB1
CB2
CB4
CB1
CB2
CB1
CB2
LH(1)
CB3
CB4
HH(1)
CB3
CB4
Plano de bits no JPEG-2000
Coeficiente
21
1
0
10
bp5
(MSB)
1
0
0
0
bp4
bp3
bp2
0
0
0
1
1
0
0
0
0
0
0
1
bp1
(LSB)
1
1
0
0
Contribuições código de blocos
JPEG2000
Qualidade subjectiva das imagens em
JPEG2000 – Nível de cinzento
0.90 bpp
0.25 bpp
0.56 bpp
0.13 bpp
0.37 bpp
JPEG 0.13 bpp
Qualidade objectiva das imagens JPEG2000
Imagem da Lena a Cores
38
36
34
32
30
PSNR (in dB)
PSNR (in dB)
Imagem a nível de cinzento
JPEG2000
JPEG
26
22
28
JPEG 2000
JPEG
24
20
0.13
0.25
0.47
bits per pixel
0.65
0.91
0.18
0.41
0.60 0.80 0.95
bits per pixel
1.15
Download

Compressão de imagem - Universidade do Minho