Post on 02-Mar-2020
Processamento Digital de Imagens
Quantização de ImagensEduardo A. B. da Silva
Programa de Engenharia Elétrica - COPPE/UFRJLaboratório de Sinais, Multimídia e Telecomunicações
eduardo@smt.ufrj.br
Sergio L. NettoPrograma de Engenharia Elétrica - COPPE/UFRJ
Laboratório de Sinais, Multimídia e Telecomunicaçõessergioln@smt.ufrj.br
Abril de 2017
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 1 / 39
Sumário
Sumário
1 Quantização de ImagensQuantizaçãoCompandorsEntropia da Saída Vs. DistorçãoQuantização Visual
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 2 / 39
Quantização de Imagens Quantização
Quantização
• Representação num computador ⇒ valores discretos.
• Quantização: mapeia u → u· u· toma valores em {r1, · · · , rL}
• u ∈ [tk , tk+1)→ u· = rk
Em geral: processo irreversível.
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 3 / 39
Quantização de Imagens Quantização
Exemplo: Quantizador uniforme entre 0.0 e 10.0, 256 níveis:
tk = 10(k − 1)256
rk = tk + 5256
⇒ q , tk − tk−1 = rk − rk−1 : intervalo ou passo de quantização.
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 4 / 39
Quantização de Imagens Quantização
Quantizador Ótimo de Lloyd-Max
ε = E [(u−u·)2] =∫ tL+1
t1
(u−u·)2pu(u)du =L∑
i=1
∫ ti+1
ti
(u−ri)2pu(u)du
εmínimo → dεdtk
= 0⇒ (tk − rk−1)2pu(tk)− (tk − rk)2pu(tk) = 0 (1)
dεdrk
= 0⇒ ddrk
∫ tk+1
tk
(u − rk)2pu(u)du = 0 (2)
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 5 / 39
Quantização de Imagens Quantização
(1)⇒ (tk − rk−1)2 = (tk − rk)2 ⇒ Se t1 < t2 < · · · tL+1
⇒ tk = rk−1 + rk2
(2)⇒∫ tk+1
tk
upu(u)du = rk
∫ tk+1
tk
pu(u)du
⇒ rk =
∫ tk+1
tk
upu(u)du∫ tk+1
tk
pu(u)du= E [u|u ∈ Ik ]
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 6 / 39
Quantização de Imagens Quantização
Soluções:
1) a. Inicializar r (1)k , k = 1, · · · , L tal que r (1)
1 < r (1)2 < · · · r (1)
L , r (1)L+1 dependendo do problema.
b. Para cada i , i = 1, · · · ,Nmax:
� Para cada k, k = 1, · · · , L + 1 :
t(i)k =
r (i)k−1 + r (i)
k
2
r (i+1)k =
∫ t(i)k+1
t(i)k
upu(u)du
∫ t(i)k+1
t(i)k
pu(u)du
• A seguir são apresentadas tabelas para os quantizadores ótimos de números de níveis entre 2e 36, 64 e 128, para uma densidade gaussiana de média zero e variância unitária.
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 7 / 39
Quantização de Imagens Quantização
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 8 / 39
Quantização de Imagens Quantização
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 9 / 39
Quantização de Imagens Quantização
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 10 / 39
Quantização de Imagens Quantização
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 11 / 39
Quantização de Imagens Quantização
2) Número de níveis de quantização é grande:
� ⇒ pu(u) “constante” por partes (constante dentro do intervalo)
� ⇒ pu(u) = pu(t̂j), t̂j = tj +tj+12 , tj ≤ u < tj+1
� ⇒ tk+1 =A∫ zk +t1
t1
[pu(u)]−13 du∫ tL+1
t1
[pu(u)]−13 du
+ t1
� ⇒ ε = 112L2
(∫ tL+1
t1
[pu(u)]13 du)3
⇒ distorção
� A = tL+1 − t1, zk =( k
L
)A, k = 1, · · · , L.
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 12 / 39
Quantização de Imagens Quantização
Quantizador Ótimo para Densidades Uniformes
pu(u) ={
1tL+1−t1
, t1 ≤ u < tL+1
0, n.d .p.
rk =t2k+1 − t2
k2(tk+1 − tk) = tk+1 + tk
2 , tk = rk + rk−12
tk = tk+1 + tk + tk + tk−14 ⇒ tk = tk+1 + tk−1
2⇒ tk − tk−1 = tk+1 − tk = constante = q
⇒ q = tL+1 − t1L , tk = tk−1 + q, rk = tk + q
2⇒ uniformemente
espaçado!
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 13 / 39
Quantização de Imagens Quantização
e = u − u· ⇒ uniformemente distribuído em (− q2 ,
q2 )
ε = 1q
∫ q2
− q2
u2du = q2
12
σ2u = A2
12 = (tL+1 − t1)2
12 ⇒ SNR = σ2uε
= A2
q2 =(
Aq
)2
B bits ⇒ A = 2Bq ⇒ SNR = 22B ⇒ SNRdB = 6BdB
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 14 / 39
Quantização de Imagens Quantização
Propriedades do Quantizador Ótimo
1 E [u·] = E [u]⇒ u· é “unbiased estimate” de u.
2 E [(u − u·)u·] = 0⇒ erro é ortogonal à saída do quantizador.
3 σ2u· = [1− f (B)]σ2
u
4 Basta projetar quantizadores para distribuições com média zero e variância unitária.
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 15 / 39
Quantização de Imagens Quantização
Provas
1. Se pk =∫ tk+1
tk
pu(u)du = P[r = rk ]
E [u·] = E [E [u|u ∈ Ik ]] =L∑
k=1
∫ tk+1
tk
upu(u)du∫ tk+1
tk
pu(u)du
pk
=L∑
k=1
∫ tk+1
tk
upu(u)du =∫ tL+1
t1
pu(u)du = E [u]
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 16 / 39
Quantização de Imagens Quantização
2. E [uu·] =∫ tL+1
t1
uu·pu(u)du =L∑
k=1
∫ tk+1
tk
uu·pu(u)du =L∑
k=1
∫ tk+1
tk
urkpu(u)du
=L∑
k=1rk
∫ tk+1
tk
upu(u)du =L∑
k=1rk rkpk =
L∑k=1
pk r2k = E [u·
2]
⇒ E [uu·−u·2] = 0⇒ E [(u−u·)u·] = 0
⇒ se η = u − u· ⇒ u = u· + η, η e u· são descorrelatados.
σ2η = E [(u − u·)2] = E [u2]− 2E [uu·] + E [u·2
] = E [u2]− E [u·2]
⇒ σ2η = σ2
u − σ2u·
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 17 / 39
Quantização de Imagens Quantização
3. Como σ2η ≤ σ2
u ⇒ σ2η = σ2
uf (B), f (B) ≤ 1 ⇒ σ2u· = σ2
u(1− f (B)).
também: E [uη] = E [u(u − u·)] = E [u2]− E [uu·] = E [u2]− E [u·2] = σ2
η
⇒ Isto implica que a quantização equivale a “subtrair” um ruído (potência diminui).� Notar a diferença do caso usual, quando somamos um ruído (potência aumenta).
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 18 / 39
Quantização de Imagens Compandors
Compandors
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 19 / 39
Quantização de Imagens Compandors
Compressor:
pu(x)
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 20 / 39
Quantização de Imagens Compandors
f (x) =2a∫ x
t1
[pu(u)] 13 du∫ tL+1
t1
[pu(u)] 13 du
− a, g(x) = f −1(x)
⇒ [−a, a] é a faixa dinâmica do quantizador.
pu(u) par:
f (x) =a∫ x
0[pu(u)] 1
3 du∫ tL+1
0[pu(u)] 1
3 du, x ≥ 0
f (x) = −f (−x), x < 0
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 21 / 39
Quantização de Imagens Compandors
Observações:1 A variável w(f (x)) não fica uniformemente distribuída.
2 ε = 112L2
(∫ tL+1
t1
[pu(u)] 13 du)3
3 t1 e tL+1 não precisam ser finitos.
4 Implementação usa dispositivos analógicos não-lineares e conversores A/D.
5 Equivalente a um quantizador uniforme com níveis:{tk = g(kq), t−k = −tk , k = 0, · · · , L
2rk = g((k − 1
2 )q), r−k = −rk , k = 1, · · · , L2
pu(u) par.
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 22 / 39
Quantização de Imagens Compandors
Quantizador Uniforme Ótimo para Densidades Não UniformesL níveis, passo q.
Seja pu(u) par, 2a = Lq.
ε =∫ −a+q
−∞(u−r1)2pu(u)du+
L−1∑j=2
∫ tj+1
tj
(u−rj)2pu(u)du+∫ ∞
a−q(u−rL)2pu(u)du
=L−1∑j=2
∫ tj+1
tj
(u−rj)2pu(u)du+2∫ ∞
a−q(u−rL)2pu(u)du
como tj = −L2 + (j − 1)q = −a + (j − 1)q. Então:
ε = 2L2−1∑j=1
∫ jq
(j−1)q
(u − (2j − 1)q
2
)2pu(u)du+2
∫ ∞( L
2−1)q
(u − (L− 1)q
2
)2pu(u)du
Projeto o quantizador fazendo dεdq = 0
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 23 / 39
Quantização de Imagens Compandors
Comparações:
• Gaussiana: Bs = 12 log2
σ2
D , ou D = σ22−2Bs (Shannon Lower Bound)
� Bloco infinito quantizado conjuntamente (Shannon Quantizer).
� Limite superior na distorção obtido com o Shannon Quantizer.
• Quantizadores com memória zero (1D): Em geral, não conseguem distorção abaixo doShannon Upper Bound.
• Quantizador uniforme ótimo para densidades uniformes: Possui distorção igual à do ShannonUpper Bound.
• A taxa do Shannon quantizer é, na prática, a menor taxa obtenível com um quantizador dememória zero para qualquer densidade de probabilidade• A seguir é apresentada uma tabela com os quantizadores uniformes ótimos de números de
níveis entre 2 e 36, 64, 128, 256 e 512, para densidades gaussiana e laplaciana de médiazero e variância unitária.
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 24 / 39
Quantização de Imagens Compandors
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 25 / 39
Quantização de Imagens Compandors
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 26 / 39
Quantização de Imagens Entropia da Saída Vs. Distorção
Entropia da Saída Vs. Distorção
• Quantizador Otimo do ponto de vista de taxa × distorção: Quantizador que minimizaa distorção dada uma entropia.
• Quantizador Uniforme Ótimo com entropy coding: melhor que quantizador nãouniforme ótimo sem entropy coding.
• Quantizador Uniforme: Bem próximo do ótimo segundo o critério Entropia X MSE (desdeque o “stepsize” seja otimizado de acordo com este critério).
⇒ Na prática: Projeto de quantizadores uniformes consiste em achar L (número de níveis) e A(faixa dinâmica).
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 27 / 39
Quantização de Imagens Entropia da Saída Vs. Distorção
Modelos Analíticos para Quantizadores Práticos
D = σ2f (B), f (B) = a2−bB
Exemplo: Shannon D1 = 2−2B1
Mean Square,Gaussian,B grande,Zero Memory
⇒ D2 = 2.26(2−1.963B2)
⇒ D1 = D2 ⇒ B2 = B1 + 0.5
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 28 / 39
Quantização de Imagens Entropia da Saída Vs. Distorção
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 29 / 39
Quantização de Imagens Entropia da Saída Vs. Distorção
Quantização de Variáveis Aleatórias Gaussianas Complexas
z = x + jy , x , y iid v.a. Gaussianas
⇒ não é ótimo quantizar x e y independentemente.
z = Aejθ A =√
x2 + y2 θ = arctg(y
x
),
A : Rayleigh pA(A) =
Aσ2 e−
A22σ2 , A > 0
0, A < 0
θ : uniforme
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 30 / 39
Quantização de Imagens Entropia da Saída Vs. Distorção
Quantizando A independente de θ:A: vk níveis de decisão θ : L1 níveis
wk níveis de reconstrução A : L2 níveisQuantizando A e θ conjuntamente:A: tk = vk para L2 grande, são iguais
rk = wksinc(1L
)(sinc
(1L
)→ 1)
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 31 / 39
Quantização de Imagens Quantização Visual
Quantização Visual
• Abaixo de 5 a 6 bits/pixel, nota-se falsos contornos, bastante incomodativos à visão.
• 8 bits: indistinguível pelo olho humano (256 níveis são suficientes)
• Necessidade de um sistema de quantização visual que mantenha os contornos abaixo dolimite de visibilidade.
1. Quantizar o Contraste
c = α ln(1 + βu) 0 ≤ u ≤ 1c = αuβ
⇒ Mudança de 2% no contrante é “just noticeable” ⇒ 50 níveis de contraste (6 bits)
⇒ Com quantizador ótimo, 4 a 5 bits seriam suficientes.
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 32 / 39
Quantização de Imagens Quantização Visual
2. Quantização com Ruído Pseudo-Aleatório (Dithering)
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 33 / 39
Quantização de Imagens Quantização Visual
⇒ O ruído “quebra” os contornos.
⇒ Sem contornos com ≈ 3 bits/pixel.
⇒ Posso não remover o ruído.
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 34 / 39
Quantização de Imagens Quantização Visual
“Halftoning”
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 35 / 39
Quantização de Imagens Quantização Visual
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 36 / 39
Quantização de Imagens Quantização Visual
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 37 / 39
Quantização de Imagens Quantização Visual
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 38 / 39
Quantização de Imagens Quantização Visual
• O olho humano vê tons de cinza porque faz filtragem passa baixa.
• Ruído Aleatório × Padrões Periódicos (na prática)
• Padrões de Moiré ocorrem se a imagem e o padrão possuem periodicidades próximas.
Quantização de Cores
• Ideal: Quantização vetorial no espaço de cores.
• Na prática: transformação para espaço de cores mais uniforme perceptualmente.
(SMT – COPPE/UFRJ) UFRJ Abril de 2017 39 / 39