• Nenhum resultado encontrado

Decomposição Triangular de Imagens: uma Aplicação em Compressão

N/A
N/A
Protected

Academic year: 2021

Share "Decomposição Triangular de Imagens: uma Aplicação em Compressão"

Copied!
8
0
0

Texto

(1)

Decomposição Triangular de Imagens:

uma Aplicação em Compressão

Vânia Cordeiro da Silva1, João Marques de Carvalho2

1

UESC – Universidade Estadual de Santa Cruz – Rodovia Ilhéus/Itabuna, Km 16, Ilhéus, BA - Brasil

2

UFCG – Universidade Federal de Campina Grande – Caixa Postal 10105, 58109-970, Campina Grande, PB - Brasil

vania@uesc.br, carvalho@dee.ufcg.edu.br

Abstract. A new method for image decomposition applied to image compression is

presented, using Tritree (TT) decomposition algorithms. The goal is to segment the image into a set of triangular homogeneous regions, where the pixel differences do not exceed a given threshold. A tree is built to represent the decomposition. Each triangle will be a node of the TT. The initial triangle containing the whole image is the root. The final triangles, representing the compressed image, are the leaves. Experimental results show the proposed method to perform better than the Quadtree (QT) decomposition, in terms of PSNR and compression rate.

Resumo. Um novo método de decomposição de imagens aplicado à compressão é

apresentado utilizando o algoritmo de decomposição Tritree (TT). A meta é segmentar a imagem em um conjunto de regiões triangulares homogêneas, onde a diferença dos valores dos níveis de cinza dos pixels não exceda um determinado limiar dado. Uma árvore representa a decomposição. Cada triângulo gerado será um nodo da TT. O triângulo inicial, chamado de raiz, contém a imagem toda. Os triângulos finais, representando a imagem comprimida propriamente dita, são as folhas. Os resultaldos experimentais mostram que o método proposto tem melhor desempenho comparado a decomposição QT, em termos de PSNR e taxa de compressão.

1. Introdução

Este trabalho contribui para compressão de imagens, isto é, o problema de reduzir a quantidade de bits necessários para representar uma imagem, sendo capaz de restaurá-la para sua forma original, com um certo grau de fidelidade. Este problema é importante por que uma boa solução para isto representa uma economia considerável em termos de espaço de armazenamento e/ou ocupação do canal de transmissão [2, 3, 4, 5, 15].

Muitas técnicas de compressão de imagens são baseadas em segmentação ou decomposição da imagem original em regiões homogêneas, o que pode ser representado por um reduzido número de bits. Este é o caso do conhecido método de decomposição Quadtree (QT), que tem sido empregado em diversos métodos híbridos de compressão de imagens encontrados na literatura [3, 6, 7, 8, 9, 10, 11, 15, 17].

Este trabalho propõe uma técnica nova, chamada decomposição Tritree (TT), para representação de imagens reais bidimensionais, em tons de cinza, em diferentes níveis de resolução. Como base foi utilizado o trabalho de Wille para a geração de malhas de elementos finitos, não estruturadas, para a solução computacional de problemas aero e

(2)

hidrodinâmicos, na forma de sistemas de equações diferenciais [12].

A decomposição TT é similar à decomposição QT. Contudo, enquanto QT trabalha subdividindo a imagem em regiões quadráticas progressivamente menores, a decomposição TT subdivide a imagem em regiões triangulares. A meta é segmentar a imagem em um conjunto de regiões triangulares homogêneas, isto é, regiões onde a diferença dos valores de nível de cinza dos pixels não exceda um determinado limiar. Na estrutura gerada os triângulos formam uma árvore de pesquisa, chamada TT. Cada elemento, ou triângulo, forma um nodo da árvore. O elemento inicial, que contém a imagem completa, é a raiz da árvore e suas folhas (nós terminais) são os elementos que guardam a informação relevante da imagem comprimida, ou seja, a informação necessária para sua descompressão. Neste trabalho, todas as árvores foram construídas por um procedimento top-down. Este método foi aplicado para compressão de imagens.

O resto deste artigo está organizado da seguinte forma: a Seção 2 descreve a decomposição TT. Os métodos de reconstrução das imagens é apresentado na Seção 3. A Seção 4 sumariza o procedimento de codificação. Na Seção 5 é explicada a técnica de pós-processamento que é aplicada nas imagens reconstruídas. Resultados experimentais e conclusões obtidas podem ser vistos nas Seções 6 e 7, respectivamente.

Figura 1: Informações de uma Estrutura Tritree

2. Decomposição Tritree

Faz-se necessário, inicialmente, algumas definições, observando o armazenamento das informações na estrutura de dados árvore. Cada item de dado armazenado numa árvore é chamado de nodo. O nodo inicial é a raiz. Sub-árvores podem originar de cada nodo, estabelecendo uma relação de pai-filho entre os nodos. Um nodo que não possui filhos é chamado de nodo terminal ou folha. O número de filhos de um nodo determina seu grau. O número de gerações entre um nodo e a raiz da árvore determina o nível do nodo [13].

A decomposição TT começa pelo enquadramento da imagem em um triângulo eqüilateral, que é sempre sub-dividido em quatro novos triângulos eqüilaterais. O grau de homogeneidade é calculado para cada triângulo gerado e testado contra um valor de limiar dado empiricamente pelo usuário, para determinar se este deve ser novamente dividido ou não. Este processo é repetido um número fixo de vezes ou até todos os triângulos testados serem rotulados como homogêneos. Cada triângulo será um nodo da TT. O triângulo inicial, que contém a imagem toda, será a raiz. Os triângulos finais, representando a imagem decomposta, são as folhas.

A Figura 1 exemplifica a decomposição TT de uma imagem qualquer, resultando em uma árvore de grau 4. Uma TT com n níveis pode ter até 4n-1 folhas. A Figura 2 mostra como as informações dos nodos da TT são armazenadas, utilizando um registro com 9 campos para cada nodo. O primeiro campo armazena o nível do nodo, um sinal

(3)

negativo indica um nodo terminal. Os próximos sete campos são ponteiros, os três primeiros ponteiros são para os vértices dos triângulos e os demais para seus filhos. Caso o nodo não tenha filhos, estes campos apontam para seus triângulos vizinhos em direções pré-determinadas, um valor nulo (null) indica que o triângulo não possui vizinhos na direção correspondente. O último campo armazena um ponteiro para o nodo pai. Com esta estrutura torna-se fácil movimentar-se para os lados, descer ou subir na árvore.

1 1 p1 p2 p3 2 3 4 5 0 2 -2 p1 p4 p5 0 0 3 0 1 3 -2 p4 p5 p6 2 4 5 0 1 4 -2 p4 p2 p6 0 3 0 0 1 5 -2 p5 p6 p3 3 0 0 0 1

Figura 2: Informações de uma Estrutura Tritree

A lista dos vértices dos triângulos é organizada em uma árvore binária (grau 2), isto é, uma outra árvore com no máximo dois filhos por nodo. Registros com cinco campos são necessários para armazenar as informações de cada nodo da árvore binária: dois campos para as coordenadas X-Y dos vértices, dois outros campos apontando para os vértices filhos, e o último guarda a informação do nível de cinza do vértice. Quando um triângulo é dividido novos nodos são adicionados na árvore de vértices (a árvore binária). Estes nodos são os pontos do meio de cada aresta do triângulo, e correspondem aos vértices dos quatro novos triângulos criados pela decomposição. Os pontos são inseridos na árvore binária em ordem crescente, de acordo com os valores X-Y de suas coordenadas. Um ponto com coordenada (x,y) é definido como sendo menor do que outro ponto com coordenadas (u,v), respectivamente, se:

   < = < v y e y x ou u x

O novo ponto é inserido na árvore quando não for mais possível descer na árvore na direção indicada pelo teste acima, ou seja, quando o ponto pesquisado não tiver filhos naquela direção, ocupando este lugar.

A Figura 3 apresenta como a imagem é enquadrada no triângulo inicial. A largura e altura do triângulo são determinadas de acordo com as dimensões da imagem, garantindo, assim, o enquadramento perfeito. A altura a do triângulo raiz é dado por:

a = l + c*sen60o

onde l é o número de linhas da imagem e c é o número de colunas. A largura b do triângulo é calculada como se segue:

b = c + 2*l*cos60o / sen60o

Em geral, a e b são valores fracionários, requerendo aproximação para um dos valores da malha de coordenadas da imagem discreta. Como conseqüência, os cantos superiores da imagem, muito provavelmente, não tangenciem as arestas do triângulo inicial como ilustrado na Figura 3.

3. Reconstrução

(4)

pela decomposição TT. Dois diferentes algoritmos de reconstrução foram pesquisados: replicação da média e interpolação linear. O primeiro é representado pela média dos valores de níveis de cinza do triângulo. A reconstrução consiste da replicação deste valor médio dentro dos limites físicos dos triângulos.

a – a altura do triângulo b – a base do triângulo

c – o número de colunas da imagem l – o número de linhas da imagem

Figura 3: Imagem Enquadrada em Triângulo Inicial.

A interpolação linear é executada em cada triângulo-folha (nodo terminal) da TT, de acordo com a equação:

ax + by + cz = d

Os parâmetros a, b, c e d são determinados em função das coordenadas dos vértices de cada triângulo e seus valores de nível de cinza, disponíveis na árvore binária. Z é o valor de nível de cinza interpolado para o pixel com coordenadas (x,y) [14]. Tendo-se os vértices A, B e C de um triângulo, para descobrir a equação no plano que passa pelos três pontos, precisa-se de um plano e de um vetor perpendicular a este, como mostra a Figura 4. Sendo xk, yk e zk as coordenadas cartesianas do vértice k e o seu valor de nível de cinza, respectivamente, para k = 1, 2 e 3, temos que:

a = (y2-y1) * (z3-z1) - (y3-y1) * (z2-z1) b = (x3-x1) * (z2-z1) - (x2-x1) * (z3-z1) c = (x2-x1) * (y3-y1) - (x3-x1) * (y2-y1) d = a * x1 + b * y1 + c * z1

Com os valores dos parâmetros a, b e c conhecidos, a equação do plano também é conhecida.

4. Codificação

O procedimento de codificação inclui codificar a informação da estrutura da árvore, bem como codificar os níveis de cinza dos vértices dos triângulos.

Para a codificação da estrutura da árvore o valor '1' é utilizado para rotular os nodos pais e '0' é reservado para rotular os nodos folhas [6]. Todos os nodos do último nível de decomposição são folhas, portanto, o processo de codificação da estrutura da árvore pode parar no penúltimo nível. O código da raiz, único nodo do primeiro nível, será sempre '1', podendo ser suprimida, também, esta informação. Por exemplo, o código resultante para a árvore TT apresentada na Figura 1 é 1111 - 0001 - 0000 - 1000 - 0000.

A informação do nível de cinza de uma imagem reconstruída por interpolação linear entre os vértices dos triângulos, é armazenada utilizando-se codificação preditiva sem perdas. Somente os vértices dos nodos folhas são armazenados. Um ponto de vértice, o primeiro a ser calculado, é escolhido para ser o preditor e o único a ser codificado com 8 bits (para o caso de imagens com 256 níveis de cinza). Para os outros pontos de vértice, somente a diferença entre estes e o preditor é codificada, com o mesmo número de bits do

(5)

limiar. Isto acontece por que triângulos adjacentes tem, no mínimo, um vértice em comum [15].

Figura 4: Os 3 vértices do triângulo definindo um plano.

5. Pós-processamento

Um método de pós-processamento com transformadas wavelets é aplicado às imagens reconstruídas por ambos os métodos de reconstrução. O objetivo é melhorar a qualidade visual das imagens reconstruídas, pela suavização das bordas dos triângulos componentes, que são mais visíveis nas imagens comprimidas com valores de limiar mais altos, como pode ser visto na Figura 5. Para tanto, as componentes de alta freqüência são atenuadas pela transformada wavelet [16].

Duas estratégias foram testadas: eliminação das componentes de alta freqüência e sua redução pela metade. Os melhores resultados são obtidos no primeiro nível de decomposição e com a atenuação de, além do componente diagonal de alta freqüência, um outro, seja o vertical ou o horizontal, ou mesmo de ambos.

6. Resultados

A Figura 5 apresenta exemplos de compressão / reconstrução de imagens, obtidos com os algoritmos da TT e QT. A imagem ''Lena'' original (Figura 5(a)) tem dimensões de 512x512 pixels com 256 níveis de cinza, que é a imagem mais comumente empregada nos testes da literatura sobre compressão. Esta imagem, como pode ser visto, apresenta uma face humana, o que tem um grau de distorção alto, e inclui diferentes tipos de texturas.

As Figuras 5(b) e 5(c) foram reconstruídas com interpolação linear (IL). Replicação da média (RM) foi utilizado nas Figuras 5(d) e 5(e). Para as Figuras 5(b) e 5(d) o valor de limiar empregado no teste de homogeneidade durante a decomposição foi 8 e para as Figuras 5(c) e 5(e) o valor de limiar usado foi 30. Pode ser observado que o resultado final é fortemente dependente do valor de limiar escolhido.

A eficiência da compressão é medida pela taxa de compressão, expressa como a média (Tx) do número de bits requeridos para codificar a imagem comprimida, dado por: Tx bpp = Número de bits para codificar a imagem comprimida

Total de pixels na imagem original

A qualidade da imagem reconstruída é mensurada pela relação sinal-ruído de pico, ou PSNR, do inglês “peak signal-to-noise ratio”, calculada como:

dB MSE A PSNR       = 10.log10 2

(6)

(a) Imagem original (b) Imagem reconstruída por interpolação linear e limiar 8

(c) Imagem reconstruída por interpolação linear e limiar 30

(d) Imagem reconstruída por replicação da média e limiar 8 (e) Imagem reconstruída por replicação da média e limiar 30

(f) Imagem comprimida com algoritmo da QT e limiar 8 (g) Imagem comprimida com algoritmo da QT e limiar 30 Figura 5: Exemplos de imagens reconstruídas

Nesta equação, A representa o valor máximo de nível de cinza que os pixels da imagem testada podem alcançar. Nos testes realizados foram utilizadas apenas imagens com 8 bits/pixel, ou seja, o valor de A foi sempre igual a 255. A variável MSE é o erro médio quadrático (Mean Square Error) da diferença, ou erro, entre o sinal da imagem original (I(i,j)) e a imagem comprimida (R(i,j)). Sendo L o número de linhas das imagens e C o número de colunas, o MSE é calculado como se segue:

Na Tabela 1, os resultado produzidos pelo algoritmo da TT, para ambos os

[

]

      − =

∑ ∑

= = L i C j j i R j i I C L MSE 0 0 2 ) , ( ) , ( 1

(7)

métodos de reconstrução (interpolação linear - LI e replicação da média – RM), são apresentados em conjunto com os resultados obtidos pela QT implementado neste trabalho. Para esta a reconstrução deu-se pela replicação da média de cada quadrado [6].

Estes resultados mostram que o desempenho do algoritmo da TT é superior ao da QT. Por exemplo, com o limiar 30, uma taxa de 1,72 bpp e uma PSNR de 33,36 dB são obtidos para o método TT - RM. Para o mesmo valor de limiar, a QT produz uma taxa maior de 1,85 bpp e um valor inferior de PSNR: 27,01 dB. O método TT-IL também tem desempenho superior ao da QT para o mesmo limiar de 30. A coluna “PSNR 2”, apresenta os melhores resultados obtidos, em dB, com transformadas wavelets como método de pós-processamento.

Tabela 1: Resultados da TT para a imagem Lena de 512x512, com reconstrução por IL e RM, e algoritmo da QT, com diferentes limiares.

Algoritmo Limiar Taxa PSNR 1 PSNR 2

TT – IL 8 1,19 34,19 35,05 TT – IL 30 0,69 32,02 32,94 TT – RM 8 3,38 33,91 34,59 TT – RM 30 1,72 33,36 33,98 QT – RM 8 4,96 27,42 28,06 QT – RM 30 1,85 27,01 27,61 7. Conclusões

Um novo, prático e eficiente algoritmo de segmentação/decomposição de imagens digitais é proposto. Os resultados confirmam a viabilidade do algoritmo TT para compressão de imagens, porque ele produz, simultaneamente, PSNR superior e taxa de compressão inferior aos do algoritmo QT, um dos mais populares esquemas de codificação baseada em segmentação aplicado em compressão de imagens. Entretanto, várias outras aplicações que fazem uso de decomposição ou segmentação de imagens, também seriam viáveis.

Isto pode ser justificado no fato do algoritmo da TT produzir um número menor de vértices e partições do que o algoritmo da QT produz [17], conforme Tabela 2. Isto implica em um número menor de componentes de alta freqüência e redução do montante de informação processada pelo descompressor (a informação da estrutura da árvore).

Como os resultados obtidos com a decomposição TT são superiores aos da QT, pode-se afirmar que a utilização da decomposição TT nos mesmos métodos híbridos de compressão de imagens que fazem uso da QT, deve gerar resultados superiores.

Tabela 2: Comparação entre TT e QT em termos de partições e vértices.

Algoritmo Limiar Partições Vértices

TT – IL 8 107656 61355 TT – IL 30 49168 30016 TT – RM 8 107656 61355 TT – RM 30 49168 30016 QT – RM 8 153925 165739 QT – RM 30 56539 65822 Referencias

[1] Vânia Cordeiro da Silva e João Marques de Carvalho. Image Compression by Tritree

(8)

[2] Rafael C. Gonzales e Richard E. Woods. Digital Image Processing. Addison–Wesley Publishing Company, 1993.

[3] Anil K. Jain. Image Data Compression: A Review. Proceedings of IEEE, 69(3):349–389,

Março 1981.

[4] LiminWang e Goldberg Morris. Progressive Image Transmission Using Vector

Quantization on Images in Pyramid Form. IEEE Transaction Communications, 37(12):1339–1349, Dezembro 1989.

[5] M. M. Reid, R. J. Millar e D. N. Black. Second – Generation Image Coding: a Overview.

ACM Computing Surveys, 29(1):3–9, Março 1992.

[6] Eli Shusterman e Meir Feder. Image Compression via Improved Quadtree Decomposition

Algorithms. IEEE Transaction on Image Processing, 3(2), Março 1994.

[7] Rodolfo M. B. Bárbara e Abraham Alcaim.Compressão de Imagens Baseada em Decomposição Quadtree com Limiares Variáveis, Alocação de bits Adaptativa e DCT. SBT volume 38(3), March 1999.

[8] A. Munteanu, Jan Cornelis, G. Van der Auwera e Paul Cristea. Wavelet Image

Compression – The Quadtree Coding Approach. IEEE Transactions on Information

Technology in Biomedicine, 3(3):176 – 185, September 1999.

[9] Gary J. Sullivan e Richard L. Baker. Efficiente Quadtree Coding of Images and Video .

IEEE Transaction on Image Processing, 3(3), May 1994.

[10]Hayder Radha, Martin Vetterli e Riccardo Leonardi. Image Compression Using Binary

Space Partitioning Trees . IEEE Transaction on Image Processing, 5(12):1610 – 1624, December 1996.

[11]Jacques Vaisey e Allen Gersho. Image Compression with Variable Block Size

Segmentation. IEEE Transaction on Signal Processing, 40(8):2040– 2060, August 1992.

[12]Sven O.Wille. Structured Tri-Tree Search Method for Generation of Optimal Unstructured

Finite Element Grids in Two and Three Dimensions. International Journal for Numerical

Methods in Fluids, 14:861–881, 1992.

[13]Ellis Horowitz and Sartaj Sahni. Fundamentos de Estrutura de Dados. Editora Campus

Ltda, 1984.

[14]G. Lima Reis e V. Vilmar Silva. Geometria Analítica – Segunda Edição. Livros Técnicos e Científicos Editora, 1997.

[15]Vânia Cordeiro da Silva. Decomposição Triangular de Imagens: uma Aplicação em Compressão. Tese de doutorado, Universidade Federal de Campina Grande, Campina Grande - PB, Outubro 2003. COPELE/CCT/UFCG.

[16]Stephane G. Mallat. Multifrequency Channel Decompositions of Images and Wavelet Models. IEEE Transactions on Acoustics, Speech, and Signal processing, 37(12):2091– 2110, December 1989.

[17]Joceli Mayer. Blending Models for Image Enhancement and Coding. Tese de doutorado,

Referências

Documentos relacionados

Este trabalho apresenta a atual situação procedimental da Superintendência dos Serviços Penitenciários – SUSEPE/RS em especial do Núcleo de Pesquisas do Interior, com sede em

Visto que no Brasil esta aplicação em grande escala é praticamente nula, torna-se um atrativo acadêmico o estudo dos impactos da inserção de unidades

Este ponto da obra se inicia com a apresentação de algumas das ideias centrais da argumentação proposta pelo autor, a saber: do turismo como prática social lastreada e difusora

13) Para tal fim cada Parte deverá comunicar a outra por escrito da existência e o objeto da controvérsia, para a resolução da mesma. 14) Caso isto não aconteça em até 60

c) Pressione a softkey Armazenar; em seguida, gire o botão Entrada para destacar PNG e aperte o botão Entrada para selecionar esse como o tipo de arquivo;.. d) Pressione

Para recuperar o nióbio contido no rejeito de concentração de apatita da Anglo American Fosfato Brasil, foi construída, pela Anglo American Nióbio Brasil, uma

Para o presente estudo adapta -se a perspectiva do marketing de produtos e serviços ao marketing eleitoral, e interpreta - se o construto pelo interesse que o

N EGOCIAIS EGOCIAIS atos atos administrativos negociais são todos aqueles que contêm uma administrativos negociais são todos aqueles que contêm uma declaração de