Processamento Digital de Imagens Quantização de Imagens Eduardo A. B. da Silva Programa de Engenharia Elétrica - COPPE/UFRJ Laboratório de Sinais, Multimídia e Telecomunicações eduardo@smt.ufrj.br Sergio L. Netto Programa de Engenharia Elétrica - COPPE/UFRJ Laboratório de Sinais, Multimídia e Telecomunicações sergioln@smt.ufrj.br Abril de 2017 (SMT COPPE/UFRJ) UFRJ Abril de 2017 1 / 39
Sumário Sumário 1 Quantização de Imagens Quantização Compandors Entropia da Saída Vs. Distorção Quantização Visual (SMT COPPE/UFRJ) UFRJ Abril de 2017 2 / 39
Quantização Quantização Representação num computador valores discretos. Quantização: mapeia u u u toma valores em {r 1,, r L } u [t k, t k+1 ) u = r k Em geral: processo irreversível. (SMT COPPE/UFRJ) UFRJ Abril de 2017 3 / 39
Quantização Exemplo: Quantizador uniforme entre 0.0 e 10.0, 256 níveis: t k = 10(k 1) 256 r k = t k + 5 256 q t k t k 1 = r k r k 1 : intervalo ou passo de quantização. (SMT COPPE/UFRJ) UFRJ Abril de 2017 4 / 39
Quantização Quantizador Ótimo de Lloyd-Max ε = E[(u u ) 2 ] = tl+1 t 1 (u u ) 2 p u (u)du = L ti+1 i=1 t i (u r i ) 2 p u (u)du ε mínimo dε = 0 (t k r k 1 ) 2 p u (t k ) (t k r k ) 2 p u (t k ) = 0 (1) dt k dε dr k = 0 d dr k tk+1 t k (u r k ) 2 p u (u)du = 0 (2) (SMT COPPE/UFRJ) UFRJ Abril de 2017 5 / 39
Quantização (1) (t k r k 1 ) 2 = (t k r k ) 2 Se t 1 < t 2 < t L+1 t k = r k 1 + r k 2 (2) tk+1 t k up u (u)du = r k tk+1 t k p u (u)du r k = tk+1 t k tk+1 t k up u (u)du p u (u)du = E[u u I k ] (SMT COPPE/UFRJ) UFRJ Abril de 2017 6 / 39
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,, N max: 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 (i) t k+1 t (i) k up u(u)du p u(u)du A seguir são apresentadas tabelas para os quantizadores ótimos de números de níveis entre 2 e 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 (SMT COPPE/UFRJ) UFRJ Abril de 2017 8 / 39
Quantização (SMT COPPE/UFRJ) UFRJ Abril de 2017 9 / 39
Quantização (SMT COPPE/UFRJ) UFRJ Abril de 2017 10 / 39
Quantização (SMT COPPE/UFRJ) UFRJ Abril de 2017 11 / 39
Quantização 2) Número de níveis de quantização é grande: p u(u) constante por partes (constante dentro do intervalo) p u(u) = p u(ˆt j), ˆt j = t j +t j+1 2, t j u < t j+1 t k+1 = A zk +t 1 [p u(u)] 1 3 du t 1 tl+1 t 1 [p u(u)] 1 3 du + t 1 ε = 1 12L 2 ( tl+1 t 1 [p u(u)] 1 3 du ) 3 distorção A = t L+1 t 1, z k = ( k L ) A, k = 1,, L. (SMT COPPE/UFRJ) UFRJ Abril de 2017 12 / 39
Quantização Quantizador Ótimo para Densidades Uniformes p u (u) = { 1 t L+1 t 1, t 1 u < t L+1 0, n.d.p. r k = t2 k+1 t2 k 2(t k+1 t k ) = t k+1 + t k 2, t k = r k + r k 1 2 t k = t k+1 + t k + t k + t k 1 4 t k = t k+1 + t k 1 2 t k t k 1 = t k+1 t k = constante = q q = t L+1 t 1, t k = t k 1 + q, r k = t k + q L 2 uniformemente espaçado! (SMT COPPE/UFRJ) UFRJ Abril de 2017 13 / 39
Quantização e = u u uniformemente distribuído em ( q 2, q 2 ) ε = 1 q q 2 q 2 u 2 du = q2 12 σu 2 = A2 12 = (t L+1 t 1 ) 2 SNR = σ2 u 12 ε = A2 q 2 = ( ) 2 A q B bits A = 2 B q SNR = 2 2B SNR db = 6BdB (SMT COPPE/UFRJ) UFRJ Abril de 2017 14 / 39
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 σ 2 u = [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 Provas 1. Se p k = tk+1 p u (u)du = P[r = r k ] t k E[u ] = E[E[u u I k ]] = = L k=1 L tk+1 t k tk+1 t k tk+1 up u (u)du p k p u (u)du k=1 t 1 t k up u (u)du = tl+1 p u (u)du = E[u] (SMT COPPE/UFRJ) UFRJ Abril de 2017 16 / 39
Quantização 2. E[uu ] = tl+1 t 1 uu p u (u)du = L tk+1 t k uu p u (u)du = L tk+1 k=1 k=1 t k ur k p u (u)du L tk+1 L = r k up u (u)du = r k r k p k = t k k=1 k=1 k=1 L p k rk 2 = 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[u 2 ] 2E[uu ] + E[u 2 ] = E[u 2 ] E[u 2] σ 2 η = σ 2 u σ 2 u (SMT COPPE/UFRJ) UFRJ Abril de 2017 17 / 39
Quantização 3. Como σ 2 η σ 2 u σ 2 η = σ 2 uf (B), f (B) 1 σ 2 u = σ2 u(1 f (B)). também: E[uη] = E[u(u u )] = E[u 2 ] E[uu ] = E[u 2 ] 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
Compandors Compandors (SMT COPPE/UFRJ) UFRJ Abril de 2017 19 / 39
Compandors Compressor: p u (x) (SMT COPPE/UFRJ) UFRJ Abril de 2017 20 / 39
Compandors f (x) = x 2a [p u (u)] 1 3 du t 1 tl+1 t 1 [p u (u)] 1 3 du a, g(x) = f 1 (x) [ a, a] é a faixa dinâmica do quantizador. p u (u) par: f (x) = a x 0 tl+1 0 [p u (u)] 1 3 du [p u (u)] 1 3 du, x 0 f (x) = f ( x), x < 0 (SMT COPPE/UFRJ) UFRJ Abril de 2017 21 / 39
Compandors Observações: 1 A variável w(f (x)) não fica uniformemente distribuída. 2 ε = 1 ( tl+1 ) 3 12L 2 [p u (u)] 1 3 du t 1 3 t 1 e t L+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: { t k = g(kq), t k = t k, k = 0,, L 2 r k = g((k 1 2 )q), r k = r k, k = 1,, L 2 p u (u) par. (SMT COPPE/UFRJ) UFRJ Abril de 2017 22 / 39
Compandors Quantizador Uniforme Ótimo para Densidades Não Uniformes L níveis, passo q. Seja p u (u) par, 2a = Lq. ε = a+q L 1 (u r 1 ) 2 p u (u)du+ tj+1 (u r j ) 2 p u (u)du+ j=2 t j a q (u r L ) 2 p u (u)du L 1 = j=2 tj+1 t j (u r j ) 2 p u (u)du+2 a q (u r L ) 2 p u (u)du como t j = L 2 + (j 1)q = a + (j 1)q. Então: ε = 2 L 2 1 jq j=1 (j 1)q ( u Projeto o quantizador fazendo dε dq = 0 ) 2 (2j 1)q ( p u (u)du+2 u 2 ( L 2 1)q ) 2 (L 1)q p u (u)du 2 (SMT COPPE/UFRJ) UFRJ Abril de 2017 23 / 39
Compandors Comparações: Gaussiana: B s = 1 2 log 2 σ2 D, ou D = σ2 2 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 do Shannon Upper Bound. Quantizador uniforme ótimo para densidades uniformes: Possui distorção igual à do Shannon Upper Bound. A taxa do Shannon quantizer é, na prática, a menor taxa obtenível com um quantizador de memó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édia zero e variância unitária. (SMT COPPE/UFRJ) UFRJ Abril de 2017 24 / 39
Compandors (SMT COPPE/UFRJ) UFRJ Abril de 2017 25 / 39
Compandors (SMT COPPE/UFRJ) UFRJ Abril de 2017 26 / 39
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 minimiza a distorção dada uma entropia. Quantizador Uniforme Ótimo com entropy coding: melhor que quantizador não uniforme ótimo sem entropy coding. Quantizador Uniforme: Bem próximo do ótimo segundo o critério Entropia X MSE (desde que 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
Entropia da Saída Vs. Distorção Modelos Analíticos para Quantizadores Práticos D = σ 2 f (B), f (B) = a2 bb Exemplo: Shannon D 1 = 2 2B1 Mean Square, Gaussian, B grande, Zero Memory D 2 = 2.26(2 1.963B2 ) D 1 = D 2 B 2 = B 1 + 0.5 (SMT COPPE/UFRJ) UFRJ Abril de 2017 28 / 39
Entropia da Saída Vs. Distorção (SMT COPPE/UFRJ) UFRJ Abril de 2017 29 / 39
Entropia da Saída Vs. Distorção Quantização de Variáveis Aleatórias Gaussianas Complexas z = x + jy, não é ótimo quantizar x e y independentemente. x, yiid v.a. Gaussianas z = Ae jθ A = ( y ) x 2 + y 2 θ = arctg, x A A 2 A : Rayleigh p A (A) = σ 2 e 2σ 2, A > 0 0, A < 0 θ : uniforme (SMT COPPE/UFRJ) UFRJ Abril de 2017 30 / 39
Entropia da Saída Vs. Distorção Quantizando A independente de θ: A: v k níveis de decisão θ : L 1 níveis w k níveis de reconstrução A : L 2 níveis Quantizando A e θ conjuntamente: A: t k = v k ( ) para ( L 2 grande, ) são iguais 1 1 r k = w k sinc (sinc 1) L L (SMT COPPE/UFRJ) UFRJ Abril de 2017 31 / 39
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 do limite de visibilidade. 1. Quantizar o Contraste c = α ln(1 + βu) 0 u 1 c = α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 Visual 2. Quantização com Ruído Pseudo-Aleatório (Dithering) (SMT COPPE/UFRJ) UFRJ Abril de 2017 33 / 39
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 Visual Halftoning (SMT COPPE/UFRJ) UFRJ Abril de 2017 35 / 39
Quantização Visual (SMT COPPE/UFRJ) UFRJ Abril de 2017 36 / 39
Quantização Visual (SMT COPPE/UFRJ) UFRJ Abril de 2017 37 / 39
Quantização Visual (SMT COPPE/UFRJ) UFRJ Abril de 2017 38 / 39
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