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