A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Compressão de Imagem Digital

Apresentações semelhantes


Apresentação em tema: "Compressão de Imagem Digital"— Transcrição da apresentação:

1 Compressão de Imagem Digital
Joaquim Macedo Departamento de Informática da Universidade do Minho O termo compressão de imagem refere-se ao processo de reduzir os dados necessários para representar uma imagem com uma qualidade subjectiva aceitável. Isto é conseguido geralmente reduzindo as várias redundâncias presentes numa imagem. Para além disso as propriedades do sistema visual humano pode ser explorado para aumentar ainda mais a relação de compressão. Neste capítulo, vai ser apresentado primeiro a aplicação da teoria da informação à compressão de imagens. Vários parâmetros importantes como a entropia, débito e medida de distorção são a seguir definidos. Isto é seguido pelas técnicas de compressão sem perdas e com perdas. No final é apresentada uma introdução ao JPEG e ao recente JPEG 2000.

2 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

3 Princípios para Compressão de Imagem
Remover vários tipos de Redundâncias Estatística Espacial Estrutural Conhecimento Psico-Visual Da mesma forma que os dados áudio, os dados de imagem têm também bastante redundância. Pode assim ser conseguida uma boa relação de compressão remopvendo as redundâncias. Como no áudio as imagens têm geralmente redundância estatística que pode ser explorada. Em vez da coordenada temporal como no áudio, a imagem fixa tem duas coordenadas espaciais. Portanto, as imagens têm redundância espacial em vez de redundância temporal. A estrutura 2-D duma imagem pode ser explorada para se conseguir uma maior compressão. Por fim há ainda as propriedades do sistema visual humano que podem ser também exploradas. Redundância estatistica: refere-se com a probabilidade não uniforme de ocorrência de valores de pixel. Aos valores de pixel que ocorrem mais frequentemente devem ser atribuídos um número maior de bits que aos valores menos prováveis. Redundância espacial: Refere-se à correlação de pixels vizinhos numa imagem. Este tipo de redundância é removida tipicamente aplicando técnicas de compressão como codificação preditiva e de transformada. Redundância estrutural: observe que a imagem é originalmente uma projecção de objectos 3-D num plano 2-D. Assim se a imagem fot codificada usando modelos estruturais de imagem que têm em consideração as propriedades 3-D das cenas pode ser conseguido uma relação de compressão alta. Por exemplo uma abordagem de codificação por segmentos que considera a imagem um agrupamento de muitas regiões, codificando os contrornos e a textura de cada região separadamente, pode explorar de forma eficiente a redundância estrutural numa sequência imagem/vídeo. Redundância psico-visual: As propriedades do SVH podem ser exploradas para se consguir maior compressão. As propriedades do SVH que tipicamente são usadas na compressão de imagens são Maior sensibilidade à distorção em áreas planas que a áreas com mudanças bruscas (isto é áreas com maior fequência espacial) Maior sensibilidade a áreas escuras da imagem Maior sensibilidade à mudanças na luminância que na crominância em imagens a cores.

4 Tipos de Compressão Sem perdas Com 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,.... Embora as técnicas de compressão de imagem sejam baseadas na remoção de diversos tipos de redundância, são geralmente classificadas em 2 categorias: com perdas e sem perdas. Na compressão sem perdas, a imagem recosntruída é idêntica à imagem original e portanto não é introduzida distorção. Aplicações típicas da compressão sem perdas são as imagens médicas onde a distorção é inaceitável e imagens de satélites onde as imagens podem ser demasiado importantes para para se introduzir algum ruído. Contudo, a compressão sem perdas não conseguem uma alta taxa de compressão, (inferior a 3:1). Por outro lado, as técnicas de compressão com perdas geralmente atingem altos níveis de compressão. Para além disso, essas técnicas introduzem ruído nas imagens que são aceitáveis para muitas aplicações inclusivê o WWW. Neste capítulo vamos apresentar duas técnicas de codificação sem perdas: a codificação baseada na entropia e a codificação run-length. A codificação baseada na entropia remove a redundância estatística na imagem enquanto a codificação run-length remove a redundãncia espacial. A seguir são apresentadas um pequeno número de técnicas de compressão com perdas. A DPCM e a codificação de transformada são principalmente baseadas na remoção da redundância espacial. Contudo as técnicas sem perdas e as propreidades do HVS podem ser exploradas conjuntamente para atingor níveis mais altos de compressão.

5 Compressão de Baixa Complexidade
Codificação de Entropia Cofidicação Run-Length Codificação Preditiva Vamos apresentar três tipos de codificação de baixa complexidade. Nomeadamente codificação baseada na entropia, run-length e codificação preditiva.

6 Codificação baseada na entropia
Função densidade de probabilidade da imagem da Lena Como foi demonstrado nos capítulos 6 e 7 que a a função densidade de probabilidade (pdf na terminologia inglesa) não uniforme dos símbolos de texto e áudio pode ser aproveitada para se compactar esses média. No caso das imagens, os valores de pixel não têm também uma pdf uniforme. Portanto, a codificação baseada na entropia pode ser usada também para para compactar imagens 2D. Dada uma imagem fonte, pode ser calculada a entropia da imagem gerada. Pode ser concebido um codificador apropriado para se consguir um débito de bits próximo da entropia. Tal como no áudio, as técnicas de codificação de Huffman ou a aritmética podem ajudar na compressão da imagem. A figura 8.1 mostra o pdf dos níveis de cinzento da imagem da Lena. A entropia correspondente a este pdf é 7.54 bits/pixel. Observe que a entropia é bastante próxima do débito PCM (8 bits) e a relação de compressão é desprezável. Isto é verdadeiro para a maior parte das imagens naturais e portanto a codificação baseada na entropia não é aplicada directamente para codificar os pixéis. Vamos ver mais tarde nesta secção que se pode conseguir uma compressão significativa usando a codificação de entropia nos coeficientes de transformada duma imagem. 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)

7 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 A codificação Run-Length (RLC na terminologia inglesa) é também uma técnica de compressão sem perdas bastante eficaz em imagens com símbolos idênticos consecutivos. No RLC um run é uma sequência de pixéis com valores idênticos (geralmente zeros ou uns) ao longo duma determinada direcção (vertical ou horizontal). Em vez de codificar os pixéis individualmente, é codificado um run de cada vez. No run-length 1-D cada linha de varrimento é codificada de forma independente e consiste em runs negros (zero consecutivos) e runs brancos (uns consecutivos). Para tornar a codificação mais simples, o primeiro run numa linha de varrimento é sempre considerada um run-branco. Nesse caso o primeiro pixel é um pixel negro, o comprimento do primeiro run é zero. Cada linha de varrimento é terminada com um símbolo especial de fim de linha.

8 Exemplo 8.1 Considere a codificação Run-Length duma imagem FAX cujas primeiras linhas de varrimento são mostras a seguir ImagemFAX={ } Código RLC=[....11,22,17,EOL,0,14,20,16,EOL,...] Na primeira linha de varrimento, há 11 uns, seguidos de 22 zeros, seguidos de 17 uns. A linha deve ser terminada com o símbolo EOL (fim de linha). A segunda linha de varrimento começa com um pixel negro. Como resultyado, a codificação run-length da segunda linha começa com um run branco de comprimento zero. Isto deve ser seguido por 14 zeros,20 uns e 16 zeros. O aspecto do código run-length completo tem o aspecto mostrado a seguir.

9 Codificação Run-Length
O exemplo 8.1 mostra que o código RLC pode disponibilizar uma representação compacta de runs longos. O número de bits necessários para codificar o RLC depende da técnica de codificação utilizada. Tipicamente esses simbolos são codificados com uma técnica baseada na entropia (Huffman ou aritmetica). Assuma que um dado FAX tem L pixels numa linha de varrimento. Então os run-lengths podem ter um valor entre 0 e L. Os run-length médios de pixels pretos e brancos, a entropia e a relação de compressão podem ser expressos como no slide. Observa-se que os runs mais longos (maior numerador) fornecem uma taxa de compressão mais elevada, como era esperado. A última equação dá um limite superior para essa taxa. Geralemente as taxas de compressão conseguidos na prática são 20-30% inferiores. O RLC foi desenvolvido nos anos 50 e tornou-se, juntamente com a sua extensão bi-dimensional, a abordagem normalizada para codificação de FAXs. A RLC não pode ser aplicada a imagens com elevados detalhes, sob pena da eficiência ser muito baixa. Contudo, pode ser pode ser conseguida uma compressão significatica se a imagem for dividida num conjuto de planos que são então codificados individualmente. O RLC é também usado para fornecer compressão elevada em codificadores de transformada. A maioria dos coeficientes de alata frequência dum codificador de transformada tornam-se zero após a quantificação, e assim são produzidos longos runs de zeros. A RLC pode ser então usada conjuntamente com códigos de comprimento ´variável de forma bastante eficaz. O RLC é geralmente extendido para 2 dimensões definido uma área conectada como um grupo contíguo de pixels com valores idênticos. Para compactar uma imagem usando o RLC 2-D, são transmitidos ou armazenados apenas os valores que especificam a área conectada e a sua intensidade. As técnicas de compressão sem perdas resultam geralmente numa txa de compressão baixa (tipicamente 2 a 3). Portanto, não são geralmente utilizadas qunado é necessária uma alta taxa de compressão. Uma taxa de compressão elevada só é conseguida quando alguma perda de informação pode ser tolerada. Aqui o objectivo é reduzir o débito sujeito a umas restrições da qualidade de imagem. Alguns dos métodos mais populares de técnicas de compressão com perdas são codificação preditiva, codificação de transformada, wavelet sub-banda, quantificação por vector e codificação com fractais. Nas próximas secções essas te´cnicas são apresentadas sumariamente.

10 Codificação Preditiva
Explorar a previsibilidade e regularidade dos dados DPCM extendido a 2D para codificar imagens Preditores típicos A codificação preditiva explora a redundância relacionada com a previsibilidade dos resultados e a regularidade nos dados. Por exemplo uma imagem com nível constante de cinzento pode ser completamente previsível a partir do nível de cizento do seu primeiro pixel. Com imagens com níveis múltiplos de cinzento, o nivel de cinzento dum pixel da imagem pode ser pedito a partir dos valores dos pixels vizinhos. O Differential Pulse Code Modulation discutido no capítulo 7 pode ser extendido para para 2 dimensões para codificar imagens. Estão apresentados exemplos de preditores no slide

11 Codificação DPCM Similar à codificação áudio preditiva, mas extendida a 2D X A3 A1 A2 Predição Linear X = 0.97* A3 X = 0.49*A *A2 X = 0.9*A3 – 0.81*A *A2

12 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

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 Saída prevista Saída DPCM

14 Saída DPCM Valores originais Valores de erro
Valores predictos– assumindo que Os valores de errro são aramzenados exactamente Valores originais Valores de erro

15 Transmissor DPCM

16 Receptor DPCM

17 Codificação DPCM da imagem da Lena
Error Image A imagem Lena é codificada usando o preditor DPCM 3ª ordem, 2D. A sequência de erro do prevdtor é qunatizado com tamanhos de passo 10,15,20,25,30. A entropia dos coeficientes quantificados é usado para calcular o débito de bits global. A parte (a) da figura é usada para mostrar o débito de bits versus relação sinal-ruído do sinal reconstruído. Os coeficientes de predição de erro típicos são mostrados na parte (b) da figura. Observa-se que o desempenho da predição é bastante boa na maioria das regiões com excepção das arestas.

18 Codificação de Transformada
Unitária De Bloco Wavelet Comparação DCT e DWT No capítulo 5 demonstrou como as transformações unitárias como DFT.DCT e DWT eliminam a correlação os dados da imagem e compactam a maior parte da energia em poucos coeficientes. A codificação de transformada aproveita-se desta propriedade de compactação da energia da transformada unitária para conseguir esta alta compressão. Na codificação de transformada, os dados da imagem é primeiro transportada do domínio espacial para a da frequência por uma transformada unitária.

19 Transformada Discreta de Fourier 2-D

20 Imagem da Lena e o seu espectro

21 Esquema de Codificação de Transformada
Imagem de Entrada Canal Transformada 2-D Quantificador Codificador de Entropia Transmissor Um esquema típico de codificação da transformada é mostrado na figura. No sentido de obter uma compressão significativa, o procedimento de quantificação e de alocação de bits necessita geralmente de optimização. Um dos critérios mais populares de optimização é minimizar o erro médio quadrático (MSE, Mean Square Error na terminologia inglesa) da imagem reconstruída que é idêntico ao MSE dos coeficientes da transformada (unitária ou outronormal). Dependendo das características estatísticas dos coeficientes da transformada, pode ser usado um quantificador óptimo. Contudo a concepção desse quantificador pode ser difícil uma vez que que é dependente dos dados. Na maioria dos casos, é usado um quantificador não uniforme fixo para quantificar os coeficientes da transformada. Os coeficientes quantificados são a seguir codificados, usando uma codificação baseada na entropia (Huffman ou aritmética). Aos coeficientes da transformada são a seguir alocados bits dependendo para a sua contribuição para a vriãncia de erro no domínio espacial. Transformada Inversa 2-D Descodificador de Entropia Desquantificador Imagem Reconstruída Receptor

22 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.

23 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 Essas duas propriedades são bastante úteis na concepção dum quantificador MSE. Se a qualidade desejada da imagem codificada é especeficada com um crtério objectivo (exemplo relação Sinal-Ruído), o MSE necessário pode ser calculado. Os coeficientes da transformada são são então quantificados de tal forma que o MSE actual seja próximo do MSE desejável. Uma vez que os coeficientes são codificados sem perdas a imagem reconstruída vai satisfazer o SNR desejado.

24 TU: Propriedades mais importantes
Energia total no domínio da frequência é igual à energia total no domínio espacial (Teorema de Parseval) ii) O MSE na reconstrução é igual ao MSE da quantização

25 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

26 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

27 Que Transformada? Transformada Desempenho Comentários Karhunen Loeve
Melhor Alta Complexidade Transformada Discreta do Coseno Excelente Média Complexidade Wavelet discreta Transformada de Fourier Discreta Boa Complexidade Média Hadamard Baixa Complexidade

28 Transformada Discreta do Coseno

29 Transformadas sub-óptimas DCT
Desempenho da taxa de distorção Próximo da KLT Para imagens naturais que têm uma taxa alta de correlação 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

30 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

31 Exemplo 8.4 Considere um sinal com oito pontos [ 0 2 4 6 8 10 12 14].
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.

32 Solução do Exemplo 8.4 Sinal Original 0 2 4 6 8 10 12 14 DFT DCT
DFT DCT 20 – São mostrados os coeficientes DFT e DCT do sinal. Observe que os coeficientes DFT são complexos e são mostrados aqui apenas os valores absolutos dos coeficientes. Os três coeficientes mais pequenos são colocados a zero e são calculadas as transformadas inversas.Quando o valores do sinal reconstruído é arrendondado para o inteiro mais próximo, os coeficientesDCT disponibilizam uma reconstrução sem erros. Contudo a DFT introduz erros substanciais. Os sinais reconstruídos são mostrados no proximo slide. 20 – Sinais Reconstruídos

33 Solução do Exemplo 8.4 Preservação dos contornos
A DCT preserva mehlor os contornos que a DFT.

34 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 As transformadas baseadas na de Fourier (DCT e DFT) são eficientes para explorar a natureza de baixa frequência da imagem. Contudo a maior desvantagem dessas transformadas é que as funções de base são muito longas. Se um coeficiente da transformada é quantificado o efeito é visível por toda a parte da imagem. Isto não causa muitos problemas para os coeficientes de baixa frequência da imagem que são codificados com precisão mais alta .Contudo, os coeficientes de alta frequência são quantificados de forma grosseira prejudicando a qualidade das arestas na imagem reconstruída. Uma aresta viva numa imagem é representado por muitos coeficientes de transformada (que cancelam muitos outros fora da área da aresta) que devem ser preservados intactos para se conseguir uma boa fidelidade da imagem recosntruída. Segundo, uma imagem é geralmente um sinal não estacionário em que as diferentes partes têm propriedades estatísticas diferentes. Se a transformada for calculada sobre a imagem inteira, a não estacionaridade é perdida, resultando num desempenho de compressão pobre. As concretizações típica transformada de Fourier (e derivadas) envolve a prévia divisão da imagem original em sub-blocos de 8x8 ou 16x16 (mais informação vai ser dada na aula sobre compressão de vídeo): Cada bloco é transformado, quantificado e codificado separadamente. Assim, o efeito da quantificação dos coeficientes fica limitada a cada bloco. Uma outra vantagem da codificação por blocos é reduzir a complexidade computacional global.

35 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.

36 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.

37 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

38 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.

39 Cálculo da Complexidade
DFT 2-D da imagem inteira (512x512) Complexidade N x N DFT = Complexidade 2N, N-point 1-D DFT = operações butterfly = operações butterfly 2-D Block Transform = x 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.

40 Transformada de Bloco the way the DFT transforms a block, it expects the neighboring blocks to be exact copies. Notice that the differing intensity of adjacent pixels in neighboring blocks gives the appearance of borders between the blocks ,thus increasing blocking artifacts.

41 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

42 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 Recentemente as wavelets tornaram-se muito populares no processamento de imagens especialmente nas aplicações de codificação por várias razões. Primeiro, as wavelets são eficientes na codificação de sinais não estacionários devido à sua janela adapátvel tempo-frequência. Segundo têm uma descorrelação alta e eficiência na compactação da energia. Terceiro os artefactos devido aos blocos e o ruído do mosquito são reduzidos num codificador de imagens suportados por wavelets. Finalmente, as funções de base wavelet adaptam-se às características do SVH,resultando numa representação da imagem superior. Pode ser concretizado um esquema simples de codificação de imagens usando uma transformada wavelet de acordo com o esquema geral mostrado atrás.

43 Transformadas Wavelet
Unitárias ou não Unitárias Unitárias permitem taxa de compressão superior Decomposição Wavelet Dyadic: só a baixa escala é decomposta recursivamente Regular: decomposição completa Irregular Tamanho da árvore de decomposição depende de 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 A transformada Wavelet pode ser unitária (ortogonal) ou não unitária. Se a transformada é ortogonal, as propriedades da transformada unitária pode ser explorada para obter um maior desempenho na compressão. A decomposição wavelet pode ser dyadic (apenas a baixa escala é decomposta recursivamente) regular (decomposição total) ou irregular. A profundidade da árvore é geralmente determinada pelo tamanho da imagem e o número de filtros de derivação(tap filters). Com cada decomposição o número de colunas e filas da banda de passagem mais baixa é reduzida a metade. Para uma decomposição eficiente o número de filas e de colunas da banda a ser decompsta deve ser inferior ao número de filtros de derivação. Na orática a profundidade da árvore varia de 3 a 5. Depois de cada banda ser quantificada com o respectivo tamanho de passo de quantificação, os coeficientes DWT são codificados usando a codificação baseada na entropia. Como a estatística das diversas bandas varia elas são normalmente codificadas separadamente. A não estacionaridade que permanece dentro da banda pode ser facilmente compensada por um modelo adaptativo. Uma vez que a codificação adaptativa é um processo que gasta muita memória, a ordem segundo a qual os coeficientes são alimentados ao codificador é importante.. Quanto maior for a estacionaridade local dos coeficientes, melhor é a adaptação. Observe que são usados na prática vários tipos de varrimento como horizontal, zizag, ....

44 Decomposição Wavelet

45 DWT:Decomposição de imagens
Escala 1 4 sub-bandas Cada coeficiente Corresponde a uma área 2*2 na imagem original Baixas Frequências Altas Frequências: LL1 HL1 LH1 HH1

46 DWT:Decomposição de imagens
HL1 LH1 HH1 HH2 LH2 HL2 LL2 Escala 2 4 sub-bandas Cada coeficiente Área 2x2 da imagem na escala 1 Baixas frequências Altas Frequências Num nível de escala mais grosseira, os coeficientes representam uma maior área espacial mas uma menor gama de frequência

47 DWT:Decomposição de imagens
Pais Filhos Descendentes Coeficientes correspondentes a escalas mais finas Ascendentes Coeficientes correspondentes a escalas mais grossas HL1 LH1 HH1 HH2 LH2 HL2 HL3 LL3 LH3 HH3 Dependências pai-filho de sub-bandas: setas entre sub-bandas dos pais para sub-bandas dos filhos

48 DWT:Decomposição de imagens
Característica 1 Distribuição da energia similar a outras CT Concentrada nas BF Característica 2 Auto-similaridade espacial entre sub-bandas HL1 LH1 HH1 HH2 LH2 HL2 HL3 LL3 LH3 HH3 A ordem de varrimento das sub-bandas para codificação do mapa características significativas.

49 Quantização Baixa compressão Taxa de bits alta Alta Compressão
Taxa de bits baixa

50 Fdp dos coeficientes wavelet
A figura mostra a função densidade de probabilidade (fdp) da banda HH( a banda alta da primeira etapa de decomposição). dos coeficientes wavelet da imagem da Lena. A entropia correspondente desta banda é 3.67 bits/pixel, correspondendo a uma taxa de compressão de 2.2:1 (respeitante a um débito 8bits/pixel do PCM). Se os coeficientes forem quantificados uniformemente com um tamnho de passo 8, a entropia diminui ainda mais para 0.86 bits/pixel que resulta numa taxa de compressão de 9.3:1. O desempenho de compressão nuclear num esquema de codificação por transformada é conseguido reduzindo a entropia dos coeficientes da transformada quantificando os coeficientes de alta frequência. Fdp da banda HH para os coeficientes da imagem da Lena imag

51 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.

52 DWT versus DCT DCT DWT 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?

53 DCT versus DWT Sãos as 2 transformadas mais importantes na codificação de imagens Embora possam parecer diferentes, há algumas similaridades.

54 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 A imagem da Lena é dividida em blocos 8x8. Há 4096 blocos 8x8. Os coeficientes DC de cada bloco são extraídos e arranjados em 2D de acordo com a posição relativa do respectivo bloco. Similarmente, todos coeficientes AC (0,1) são extraídos e representados em 2D enquanto os são extraídos os restantes coeficientes AC. Os 64 coeficentes 2D são mostrados na figura 8.6(a), enquanto os coeficientes DWT 2D são mostrados na 8.6(b). Concluiu-se que os coeficientes DCT e DWT dispobilizam informação espacial (estrutura da imagem) assim como informação de frequência (informação de arestas). Observe que a informação espacial disponibilizada pela DCT é devido ao DCT por blocos (se se calcular o DCT 512x512 a informação espacial não fica disponivel). As figuras 8.6(c) e 8.6(d) mostram as quatro primeiras bandas dos coeficientes DCT e DWT. Observa-se que as diferentes bandas disponibilizam informação de baixa frequência e arestas horizontais, verticais e diagonais.

55 Comparação do DCT e DWT Coeficientes DCT rearranjados em bandas de igual frequência Coeficientes DWT

56 Primeiras 4 bandas

57 Compactação da energia no DCT
Lena 512x512, blocos DCT 8x8

58 Compatação da Energia no DWT
Daub-4, 3 stages, Lena 512x512

59 DCT versus DWT Compactação da Energia
1055 86 40 22 15 10 7 5 57 37 25 17 11 8 6 4 21 19 13 9 12 3 2 1057 70.9 26.4 42.2 11.3 8.4 11.1 15.7 5.4 3.4 As diferenças principais entre os coeficientes DCT e DWT são na banda passa alto. As bandas passa-alto DCT disponibilizam uma resolução de frequência mais alta mas uma baixa resolução espacial. (pode identificar a imagem da Lena olhando para a banda de alta frequência?). Por outro lado as sub-bandas wavelet disponibilizam resolução espacial alta e resolução de frequência baixa. Como resultado, o número de sub-bandas é pequeno mas a resolução espacial e superior: pode-se reconhecer a imagem da lena olhando a banda passa-alto. O desempenho na compactação da DWT e DCT é comparada na figura do slide. Observa-se que as duas transformadas têm desempenho comparável. DCT DWT Média da raiz quadrada da média da energia (RMSE)

60 Outras Técnicas de Codificação
Vector de Quantificação Compressão de Imagem com Fractais Para além das técnicas de codificação já apresentadas há uma série de métodos avançados tal como quantificação de vectores e método baseado em fractais. Apresenta-se, a seguir uma breve introdução a esses métodos

61 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.

62 Vectores de quantização Esquema simplificado
Reconstruído Vector de Entrada Regra do Vizinho mais próximo Tabela de Lookup Etiqueta i Canal wxyz wxyz wxyz wxyz wxyz wxyz Um resultado fundamental da teoria da taxa de distorção de Shannon é que pode ser conseguido um melhor desempenho com vectores na codificação de com escalares. Um vector de quantificação (VQ) pode ser definido como uma correspondência Q do espaço euclideano K-dimensional RK para um subconjunto finito Y de RK. Por outras palavras Onde Y é o conjunto de vectores de reprodução e é chamado um livro de código VQ ou tabela VQ e N é o número de vectores em Y. O VQ é similar à codificação baseada em dicionário em espírito. Ambos conseguem a compressão enviando índices em vez dos símbolos. O dicionátio VQ é chamado o livro de código.O princípio da quantificação por vectores é explicado na figura no slide. Assuma que tanto o codificador como o descodificador têm um livro de código com N palavras de código (ou vectores de código) em que cada palavra de código tem o tamanho de K pixels. A imagem de entrada é dividida me blocos de K pixels, com cada bloco comparado com todas as palavras de código no livro de código. O endereço ou índice é então transmitido em vez do próprio vector de dados.No descodificador faz-se a operação de correspondência inversa, isto é o índice é substituído pela respectiva palavra de código. Se um bloco da imagem tem K pixels e cada pixel é representado por p bits, são possíveis (2p)k combinações. Assim para compressão sem perdas são necessárias (2p)k palavras de código. Contudo na prática apenas um conjunto limitado de combinações ocorrem mais frequentemente o que reduz consideravelmente o tamanho do livro de códigos. Isto é a base para se conseguir compressão com este método. Embora haja uma certa similaridade entre VQ e os métodos baseados em dicionário, há também diferenças importantes. A codificação baseada em dicionário é um método de compressão sem perdas uma vez que o dicionário contém todas as palavras de código possíveis. Contudo, no VQ o dicionário ou livro de código de tamanho finito e o índice é gerad pela unificação (aproximada e não necessáriamente exacta) entre os símbolos de entrada e as palavras de código (ou símbolos) do dicionário. A maior desvantagem do VQ é que o processo de quantificação é altamente dependente da imagem e a sua complexidade computacional aumenta exponencialmente com a dimensão do vector.Também é difícil a concepção dum livro de código que seja representativo de todas as ocorrências de combinações de pixéis num bloco. N N ... ... wxyz wxyz K K Livro de código Livro de código

63 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.

64 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 Em termos simplistas um fractal é uma imagem duma textura ou forma, expressa como uma ou mais fórmulas matemáticas. Em termos da geometria dos fractais, um factal é uma forma geométrica cujos detalhes irregulares ocorrem a diferentes escalas e ângulos que podem ser descritos por transformações fractais As transformações fractais podem ser usadas para descrever a maioria das figuras do mundo real. A compressão de imagens por fractais é o inverso da geração de iamgens factais. Em vez de gerar uma imagem a partir duma dada fórmula a técnica de compressão de imagens por factais buscam conjunto de imagens que descrevem e representam uma imagem digital. Uma vez determinado o conjunto de fractais adequados, ela pode ser reduzida a uma representação muito compacta de códigos ou formulas de transformações fractais. Os códigos são regras para reproduzir os vários conjuntos de fractais que por sua vez reproduzem a imagem inteira. Uma vez que os códigos das transformadas fractais requerem uma pequena quantidade de dados para ser expressa e armazenada como fórmulas, a compressão por fractais permite a obtenção dumataxa elevada de compressão. A maior desvantagem de compressão por fractais é que é bastante dependente da imagem. Obviamente é mais fácil especificar um conjunto de imagens que mostrem um padrão repetido do que uma imagem com dado número de características distintas.Para alem da dependência da imagem a codificação por fractais é também uma técnica complexa computacionalmente. Contudo as computacões necessárias são iteractivas e tornam possível a sua concretização com alto desempenho em hardware. Para além disso a compressão por fractais e altamente assimétrica e a complexidade do descodificador é bastante menor que a do codificador.

65 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

66 Normas para Compressão de Imagens

67 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

68 Normas Fax MH e MREAD Codificador Fax MH : Codificador Fax MREAD :
Velocidade de varrimento Pixels/ Quadro Bits/Pixel Tamanho não compactado 100 dpi 850x1100 1 0.935 MBits 200 dpi 1700x2200 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

69 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).

70 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 sequencial Codificação progressiva Codificação sem perdas Codificação hierárquica

71 Esquema do Codificador JPEG
Blocos 8x8 Cadeia de bits Codificador Entropy DCT DCT Quantizador Quantizer compactada de entropia Coder Imagem Quantization Tabela Tabela VLC Original Table Quantização VLC Table DCT (Transformada Discreta do Coseno) Quantização Varrimento Zigzag DPCM no componente DC RLE nos componentes AC Codificação de Entropia

72 Dados de Entrada 8x8 Gama dinâmica = [0, 255], Média=~ 128 104 108 107 101 94 95 98 102 96 100 103 74 75 73 77 69 70 87 84 64 67 71 60 52 59 56 54 57 58 53 51 50 47 48 55

73 Dados de entrada -128 -24 -20 -21 -27 -34 -33 -30 -26 -32 -28 -25 -54
-53 -55 -51 -59 -58 -41 -44 -64 -61 -57 -68 -76 -69 -72 -74 -71 -70 -75 -77 -78 -81 -80 -73

74 Coeficientes 8x8 DCT -495 20 -8 10 -1 -3 3 135 22 -9 7 1 59 -10 17 9
10 -1 -3 3 135 22 -9 7 1 59 -10 17 9 -14 6 -4 -5 -7 14 -2 2

75 Matriz de Quantização F'[u, v] = round ( F[u, v] / q[u, v] ).
Exemplo: = 45 (6 bits). q[u, v] = 4 --> Truncate to 4 bits: 1011 = 11.

76 Matriz de Quantização Tabela de luminância Q. Tabela de Crominância Q.
16 11 10 24 40 51 61 12 14 19 26 58 60 55 13 57 69 56 17 22 29 87 80 62 18 37 68 109 103 77 35 64 81 104 113 92 49 78 121 120 101 72 95 98 112 100 99 17 18 24 47 99 21 26 66 56

77 Coeficientes Quantizados
Coeficientes DC Coeficientes AC -31 2 -1 11 4 1

78 Varrimento Zigzag [-496 22 132 56 24 -10 0 0 0 14 EOB]

79 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.

80 Coeficientes dequantizados
-496 22 -10 132 24 56 14

81 Coeficientes DCT Inversos
-20 -22 -24 -28 -33 -37 -39 -32 -34 -36 -44 -47 -50 -51 -52 -55 -59 -62 -64 -65 -67 -70 -73 -75 -72 -77 -79 -76 -80 -78 -81

82 Coeficientes + 128 108 106 104 100 95 91 89 96 94 92 84 81 78 77 76 73 69 66 64 63 61 58 55 53 56 51 49 52 48 50 47

83 Erros nos pixéis reconstruídos
-4 1 -3 -6 7 13 5 9 8 -10 6 -5 -1 -9 -7 11 -2 3 -12 4 2 Erro = Original – Reconstruído

84 Imagens JPEG – Lena a níveis cinzento
0.37 bpp 0.9 bpp 0.56 bpp 0.25 bpp 0.13 bpp

85 Imagens JPEG – Lena a cores
0.95 bpp 0.53 bpp 0.36 bpp 0.18 bpp

86 Desempenho Típico do JPEG
Bits/Pixel Qualidade Relação de compressão >=1.5 Não distingível 6:1 1 Excelente 8:1 0.75 Muito bom 10:1 0.50 Bom 16:1 0.25 Pobre 32:1

87 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

88 Norma JPEG-2000

89 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

90 Esquema do Algoritmo JPEG2000

91 Coeficientes de Filtros de Análise e Síntese
Le Gall 5/3

92 Coeficientes de Filtro Daubechies 9/7

93 Sub-bandas e Códigos de Bloco

94 Plano de bits no JPEG-2000

95 Contribuições código de blocos JPEG2000

96 Qualidade subjectiva das imagens em JPEG2000 – Nível de cinzento
0.56 bpp 0.37 bpp 0.90 bpp 0.25 bpp 0.13 bpp JPEG 0.13 bpp

97 Qualidade objectiva das imagens JPEG2000
Imagem a nível de cinzento Imagem da Lena a Cores


Carregar ppt "Compressão de Imagem Digital"

Apresentações semelhantes


Anúncios Google