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)
m0 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
)
m0 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