Compressão de Imagens Usando Wavelets: Uma Solução WEB para a Codificação EZW Utilizando JAVA TCC - Monografia Wanderson Câmara dos Santos Orientador : Prof. Dr. Luiz Felipe de Queiroz Silveira 1 Departamento Acadêmico de Tecnologia da Informação Centro Federal de Educação Tecnológica do Rio Grande do Norte 29 de janeiro de 2009
Sumário Sumário 1 Introdução 2 Compressão da Informação 3 Processamento Digital 4 Wavelets e a Análise em Multiresolucional na Codificação EZW 5 Exemplificação do Algorítimo 6 Conclusão 7 Referências
Introdução Objetivo Objetivos do Estudo e Implementação O Objetivo principal deste trabalho consiste na análise e implementação da codificação EZW para a compressão de imagens digitais utilizando a linguagem Java, disponibilizando na web um sistema que auxilia o estudo deste algoritmo.
Introdução Motivação Motivação para o estudo do Algorítmo EZW Nos dias atuais, cada vez mais informações contendo Vídeo, Imagens e Voz com altas taxas de transmissão são disponibilizados para os usuários da grande rede de computadores. A transmissão desses dados implica em uma grande banda de transmissão e capacidade de armazenamento. A compressão de imagens desempenha papel crucial em muitas aplicações, incluindo videoconferências, sensoriamento remoto (o uso de imagens de satélites para aplicações climáticas e outros recursos da terra), imagens médicas e de documentos.
Introdução Motivação Motivação para o estudo do Algorítmo EZW Nos dias atuais, cada vez mais informações contendo Vídeo, Imagens e Voz com altas taxas de transmissão são disponibilizados para os usuários da grande rede de computadores. A transmissão desses dados implica em uma grande banda de transmissão e capacidade de armazenamento. A compressão de imagens desempenha papel crucial em muitas aplicações, incluindo videoconferências, sensoriamento remoto (o uso de imagens de satélites para aplicações climáticas e outros recursos da terra), imagens médicas e de documentos.
Introdução Motivação Motivação para o estudo do Algorítmo EZW Nos dias atuais, cada vez mais informações contendo Vídeo, Imagens e Voz com altas taxas de transmissão são disponibilizados para os usuários da grande rede de computadores. A transmissão desses dados implica em uma grande banda de transmissão e capacidade de armazenamento. A compressão de imagens desempenha papel crucial em muitas aplicações, incluindo videoconferências, sensoriamento remoto (o uso de imagens de satélites para aplicações climáticas e outros recursos da terra), imagens médicas e de documentos.
Compressão da Informação Compressão da Informação A compressão de dados consiste em reduzir o número de informações redundantes de uma fonte de informação.
Compressão da Informação Compressão da Informação Compressão da Informação com perdas A compressão de dados com perda de informação permite uma maior taxa de compressão das informações. Durante o processo inverso, descompressão, algumas informações podem ser perdidas. Esta técnica, tem um melhor rendimento quando aplicada á sinais gráficos, como imagens, e a sinais de voz.
Compressão da Informação Compressão da Informação Compressão da Informação com perdas A compressão de dados com perda de informação permite uma maior taxa de compressão das informações. Durante o processo inverso, descompressão, algumas informações podem ser perdidas. Esta técnica, tem um melhor rendimento quando aplicada á sinais gráficos, como imagens, e a sinais de voz.
Compressão da Informação Compressão da Informação Compressão da Informação com perdas A compressão de dados com perda de informação permite uma maior taxa de compressão das informações. Durante o processo inverso, descompressão, algumas informações podem ser perdidas. Esta técnica, tem um melhor rendimento quando aplicada á sinais gráficos, como imagens, e a sinais de voz.
Compressão da Informação Compressão da Informação Compressão da Informação sem perdas Garantem gerar uma duplicata exata do uxo de dados depois do ciclo completo de compressão e descompressão. Este tipo de compressão é usado quando se manuseia registros em uma base de dados ou arquivos de texto, por exemplo. Nestas fontes de dados, a perda de um simples bit de informação pode resultar em grandes problemas.
Compressão da Informação Compressão da Informação Compressão da Informação sem perdas Garantem gerar uma duplicata exata do uxo de dados depois do ciclo completo de compressão e descompressão. Este tipo de compressão é usado quando se manuseia registros em uma base de dados ou arquivos de texto, por exemplo. Nestas fontes de dados, a perda de um simples bit de informação pode resultar em grandes problemas.
Processamento Digital Amostragem e Quantização Amostragem A amostragem é a divisão do plano xy em uma grade onde x e y serão números inteiros não negativos. Os pontos da matriz de MxN são denominados pixels (Picture Elements).
Processamento Digital Amostragem e Quantização Amostragem A amostragem é a divisão do plano xy em uma grade onde x e y serão números inteiros não negativos. Os pontos da matriz de MxN são denominados pixels (Picture Elements).
Processamento Digital Amostragem e Quantização Quatro representações da mesma imagem, com variações no número de níveis de cinza utilizado: (a)32; (b)16; (c)8; (d)4. Em todos os casos, uma matriz de 256x256 pixels é mantida.
Processamento Digital Amostragem e Quantização Quantização A quantização faz com que cada pixel f (x; y) assuma um valor inteiro não negativo de intensidade luminosa (nível de cinza )
Processamento Digital Amostragem e Quantização Mesma imagem, com variações no número de pixels: (a)256x256; (b)128x128; (c)64x64; (d)32x32. Em todos os casos, o conjunto completo de 256 níveis de cinza são mantidos.
Processamento Digital Filtragem Filtros Um filtro remove frequências específicas através da redução dos valores de magnitude das componentes Filtradas, seja parcialmente ou totalmente.
Processamento Digital Filtragem Filtros Passa-Baixa Os Filtros passa-baixas deixam passar as componentes de baixa frequência da imagem. Aquelas associadas nas regiões homogêneas da imagem.
Processamento Digital Filtragem Filtros Passa-Baixa Os Filtros passa-baixas deixam passar as componentes de baixa frequência da imagem. Aquelas associadas nas regiões homogêneas da imagem.
Processamento Digital Filtragem Filtros Passa-Alta Os Filtros passa-altas, por sua vez, atenuam ou eliminam as componentes de baixas frequências. O efeito evidente desta Filtragem é a obtenção de um realce nas zonas de alta frequência do sinal. As bordas e outras trânsições abruptas, tal como o ruído nos níveis de cinza de uma imagem, contribuem significativamente para o conteúdo de alta frequência da imagem.
Processamento Digital Filtragem Filtros Passa-Alta Os Filtros passa-altas, por sua vez, atenuam ou eliminam as componentes de baixas frequências. O efeito evidente desta Filtragem é a obtenção de um realce nas zonas de alta frequência do sinal. As bordas e outras trânsições abruptas, tal como o ruído nos níveis de cinza de uma imagem, contribuem significativamente para o conteúdo de alta frequência da imagem.
Processamento Digital Filtragem Filtros Passa-Alta Os Filtros passa-altas, por sua vez, atenuam ou eliminam as componentes de baixas frequências. O efeito evidente desta Filtragem é a obtenção de um realce nas zonas de alta frequência do sinal. As bordas e outras trânsições abruptas, tal como o ruído nos níveis de cinza de uma imagem, contribuem significativamente para o conteúdo de alta frequência da imagem.
Wavelets e a Análise em Multiresolucional na Codificação EZW Wavelet? Wavelets Sob o ponto de vista de processamento de sinais podemos pensar na transformada wavelet como uma alternativa para as técnicas tradicionais de análise de sinais. Na maioria dos casos, o sinal na sua forma original é do tipo TEMPO-DOMINIO. quando exibimos um gráfico de um sinal deste tipo, um dos eixos será o tempo e o outro a amplitude.
Wavelets e a Análise em Multiresolucional na Codificação EZW Wavelet? Wavelets Sob o ponto de vista de processamento de sinais podemos pensar na transformada wavelet como uma alternativa para as técnicas tradicionais de análise de sinais. Na maioria dos casos, o sinal na sua forma original é do tipo TEMPO-DOMINIO. quando exibimos um gráfico de um sinal deste tipo, um dos eixos será o tempo e o outro a amplitude.
Wavelets e a Análise em Multiresolucional na Codificação EZW Wavelet? Wavelets Sob o ponto de vista de processamento de sinais podemos pensar na transformada wavelet como uma alternativa para as técnicas tradicionais de análise de sinais. Na maioria dos casos, o sinal na sua forma original é do tipo TEMPO-DOMINIO. quando exibimos um gráfico de um sinal deste tipo, um dos eixos será o tempo e o outro a amplitude.
Wavelets e a Análise em Multiresolucional na Codificação EZW Wavelet? gráfico da função Cosseno. domínio TEMPO-AMPLITUDE.
Wavelets e a Análise em Multiresolucional na Codificação EZW Wavelet? Wavelets Assim então teremos uma representação TEMPO-AMPLITUDE do sinal.
Wavelets e a Análise em Multiresolucional na Codificação EZW Transformada wavelet Afinal, por que precisamos da Transformada? O objetivo da análise de sinais é extrair e processar informações relevantes de um sinal. Em geral isto é feito através de transformações matemáticas que são aplicadas aos sinais para obter informações que a princípio não estão disponíveis no seu estado original.
Wavelets e a Análise em Multiresolucional na Codificação EZW Algoritmo da Pirâmide Uma imagem contém detalhes em diversas resoluções, dessa forma, é impossível definir a priori uma resolução ótima para se analisar a imagem.
Wavelets e a Análise em Multiresolucional na Codificação EZW A Codificação EZW A Codificação EZW A Codificação EZW foi pensada especialmente para ser utilizada em conjunto com a transformada wavelet. Ela é uma técnica de codificação progressiva. Codifica uma imagem em um Fluxo de bits com controle preciso sobre a taxa de bits utilizada. quanto mais bits forem adicionados ao fluxo, mais detalhes de informação a imagem codificada terá (e menor será a compressão).
Wavelets e a Análise em Multiresolucional na Codificação EZW A Codificação EZW A Codificação EZW A Codificação EZW foi pensada especialmente para ser utilizada em conjunto com a transformada wavelet. Ela é uma técnica de codificação progressiva. Codifica uma imagem em um Fluxo de bits com controle preciso sobre a taxa de bits utilizada. quanto mais bits forem adicionados ao fluxo, mais detalhes de informação a imagem codificada terá (e menor será a compressão).
Wavelets e a Análise em Multiresolucional na Codificação EZW A Codificação EZW A Codificação EZW A Codificação EZW foi pensada especialmente para ser utilizada em conjunto com a transformada wavelet. Ela é uma técnica de codificação progressiva. Codifica uma imagem em um Fluxo de bits com controle preciso sobre a taxa de bits utilizada. quanto mais bits forem adicionados ao fluxo, mais detalhes de informação a imagem codificada terá (e menor será a compressão).
Wavelets e a Análise em Multiresolucional na Codificação EZW A Codificação EZW A Codificação EZW A Codificação EZW foi pensada especialmente para ser utilizada em conjunto com a transformada wavelet. Ela é uma técnica de codificação progressiva. Codifica uma imagem em um Fluxo de bits com controle preciso sobre a taxa de bits utilizada. quanto mais bits forem adicionados ao fluxo, mais detalhes de informação a imagem codificada terá (e menor será a compressão).
Wavelets e a Análise em Multiresolucional na Codificação EZW A Codificação EZW A Codificação EZW A codificação EZW é baseada em duas importantes observações. Quando uma imagem passa pela transformada wavelet, a energia nas subbandas diminui com a diminuição da escala (escala baixa significa resolução alta), assim os coeficientes wavelet, em geral, serão menores nas subbandas de frequências mais altas do que de nas de frequências mais baixas. Os coeficientes wavelets de maior magnitude são mais importantes do que os coeficientes de menor magnitude.
Wavelets e a Análise em Multiresolucional na Codificação EZW A Árvore de Zeros Conceitos (threshold) Para cada passo, um limiar (threshold) é escolhido e utilizado para determinar a significância de todos os coeficientes wavelets naquele passo de codificação. Mapa de Significância A cada passo de escaneamento na subbanda, informações são adicionadas ao mapa de significância que é formado pela lista dominante e pela lista subordinada.
Wavelets e a Análise em Multiresolucional na Codificação EZW A Árvore de Zeros Ordem de escaneamento das subbandas Depêndencias entre pais e filhos nas subbandas:note que as setas apontam da subbanda dos pais para a subbanda dos filhos. A subbanda de mais baixa frequência é a do topo a esquerda, e a de mais alta frequência é a da base a direita. Também demonstrado é uma árvore wavelet, consiste de todos os descendentes de um simples coeficiente na subbanda HH3. O coeficiente em HH3 é um zerotree root (Uma raiz de Árvore de zeros) se este é insignificante e todos os seus descendentes forem insignificantes
Wavelets e a Análise em Multiresolucional na Codificação EZW A Árvore de Zeros Zerotree Zerotree A estrutura de dados Zerotree se baseia na hipótese de que se um coeficiente é insignificante com respeito a um limiar T, então todos os coeficientes de mesma orientação espacial em escalas mais finas são provavelmente insignificantes com respeito ao mesmo limiar T.
Wavelets e a Análise em Multiresolucional na Codificação EZW A Árvore de Zeros Dependências entre pais e filhos nas subbandas Depêndencias entre pais e filhos nas subbandas:note que as setas apontam da subbanda dos pais para a subbanda dos filhos. A subbanda de mais baixa frequência é a do topo a esquerda, e a de mais alta frequência é a da base a direita. Também demonstrado é uma árvore wavelet, consiste de todos os descendentes de um simples coeficiente na subbanda HH3. O coeficiente em HH3 é um zerotree root(uma raiz de Árvore de zeros) se este é insignificante e todos os seus descendentes forem insignificantes
Exemplificação do Algorítimo Exemplo Exemplo da transformada wavelet 3-escala de uma Imagem 8 x 8 Considere uma transformada wavelet com três níveis de decomposição aplicada a uma imagem 8x8. O conjunto de coeficientes wavelet é mostrado acima
Exemplificação do Algorítimo Exemplo
Exemplificação do Algorítimo Exemplo
Exemplificação do Algorítimo Exemplo
Exemplificação do Algorítimo Exemplo
Exemplificação do Algorítimo Exemplo
Exemplificação do Algorítimo Exemplo
Exemplificação do Algorítimo Exemplo
Exemplificação do Algorítimo Exemplo
Exemplificação do Algorítimo Exemplo
Exemplificação do Algorítimo Exemplo
Exemplificação do Algorítimo Exemplo
Exemplificação do Algorítimo Exemplo
Exemplificação do Algorítimo Exemplo
Exemplificação do Algorítimo Exemplo
Exemplificação do Algorítimo Exemplo
Exemplificação do Algorítimo Exemplo
Exemplificação do Algorítimo Exemplo
Exemplificação do Algorítimo Exemplo
Exemplificação do Algorítimo Exemplo
Exemplificação do Algorítimo Exemplo
Exemplificação do Algorítimo Exemplo
Exemplificação do Algorítimo Exemplo
Exemplificação do Algorítimo Exemplo
Exemplificação do Algorítimo Exemplo
Conclusão Agradecimentos Obrigado!! Obrigado!