Compressão Fractal de Imagens
Autores: Fernando Araujo Figueiredo, Leonildo Carnevalli Junior e Luciane Steuernage
Uma das áreas que cresce, pelo fascínio que representa no mundo dos computadores pessoais, é a multimídia.
Hoje, tem-se nas telas de microcomputadores caseiros imagens belíssimas de alta resolução que podem ser movimentadas ou alteradas facilmente.
Mas, o maior obstáculo para a capacidade dos equipamentos atuais deste porte é o tamanho que essas imagens representam para o espaço em disco.
Por exemplo, uma imagem de 800 por 600 pixels e true color (24 bits que dão a possibilidade de mais de 16 milhões de variações de cores para cada pixel) requer 1.44 megabytes de espaço em disco. Já 10 segundos de vídeo com uma amostragem de 30 quadros (imagens) por segundo com 300 por 200 pixels (baixa resolução) em true color consomem a enormidade de 57.6 megabytes em disco.
Diante dessa situação, percebe-se claramente, a necessidade de compressão dessas imagens. No mundo da computação, comprimir informação resume-se em "perceber que a maioria dos dados acumulados em arquivos tem um alto grau de redundância; após isso, aproveitar-se dessas redundâncias para gravar o arquivo de forma mais resumida ou, em outras palavras, menor." [ROS92]
As tecnologias de compressão dividem-se, por níveis de perda do arquivo original em relação ao arquivo posteriormente descomprimido, nos métodos lossy e lossless.
O método lossless, sem perda, comprime a imagem produzindo um arquivo idêntico ao original, nesse caso tratando com imagem, pixel a pixel (método utilizado por compactadores de dados, como PKZIP e ARJ). O grande problema do método lossless é a baixíssima razão de compressão, girando em torno de 2 para 1 (ou 50 por cento do tamanho original).
Já o método lossy tem como característica uma razão de compressão muito mais alta, por volta de 50 para 1. Isso ocorre porque nesse método há uma supressão de parte da informação original, de tal forma que esta não faça falta posteriormente. Os métodos descritos a seguir, o DCT (Discrete Cosine Transform) e a compressão Fractal de Imagens, objeto desse artigo, são do tipo lossy.
O PADRÃO JPEG/DCT
No mundo da compressão de imagens, existe uma entidade que se preocupa em padronizar o método baseado no mapeamento bit a bit, de escala contínua de cores e um armazenamento em uma pequena quantidade de bits. O nome dessa associação é Joint Photographic Experts Group, e seu padrão adotado para compressão de imagens é o DCT.
COMPRESSÃO JPEG/DCT
O sistema DCT divide a imagem em blocos de 8 por 8 pixels, tendo-se 64 pixels representando este espaço da imagem. Utilizando-se de artifícios matemáticos, aqui ignorados por não serem objeto central desse artigo, o DCT despreza a "imagem física" representada pelo conjunto de pixels, identificando-a como 64 valores chamados Coeficientes DCT, que são jogados numa função Coseno Base. Têm-se, então, 64 valores coseno com suas apropriadas amplitudes.
A junção dessas funções coseno, cada uma criada para representar uma área da imagem, e seus respectivos coeficientes, passa a representar a imagem então comprimida.
Sendo assim, para uma imagem de tonalidades contínuas, a informação visual concentra-se em um número pequeno de coeficientes.
LIMITAÇÕES DO JPEG/DCT
Funciona, efetivamente, para baixar razões de compressão, 25 para 1, sofrendo de problemas em altos níveis de compressão. Neste processo, o tamanho do arquivo comprimido está intimamente ligado ao número de blocos (de 8 por 8 pixels) pelo qual a figura foi dividida. Isto mostra que, quanto maior a resolução da figura, maior será o tamanho do arquivo comprimido pelo JPEG/DCT. Para se obterem razões de compressão altas nesse método, perde-se em qualidade da imagem, que fica degradada em relação à imagem original.
Uma prova disso, é o Fenômeno Gibb, um efeito de deformação da imagem. Neste fenômeno, as bordas originalmente bem definidas da figura tornam-se como se estivessem borradas, sem suas margens ou limites igualmente bem determinados. Isso decorre do fato de que imagens de alta resolução descomprimidas pelo método JPEG/DCT resultam em pixels replicantes nas áreas com margens bem definidas.
FRACTAIS
Até recentemente era mais conhecido como um ponto de encontro para os mundos das artes e da matemática. A pintura e as composições de música fractal impressionaram a vanguarda com repetições aleatórias e interações que caracterizam a filosofia fractal.
A Interated Systems, de Norcross, Georgia, é a empresa que usou a essência da matemática fractal em uma tecnologia de compactação de imagens que pode provar ser a melhor resposta para o armazenamento e apresentação de meios que usam uma imagem.
TRANSFORMAÇÕES AFFINES
A concepção de uma transformação Affine é o centro da compressão da imagem fractal. Matematicamente, usa-se uma transformada para se representar de outra forma uma expressão. Num exemplo hipotético, supondo-se que a multiplicação apresentada seja difícil ou demorada, pode-se usar a transformada:
Passando do conceito matemático puro e partindo para aplicação em processamento de imagens, a transformada é usada sobre algumas combinações de rotação, escalonamento, desvio e translação em n dimensões espaciais.
COMPRESSÃO FRACTAL DE IMAGENS
A compressão pelo fractal tem certa relação com o sistema JPEG/DCT por transformar pontos da imagem numa expressão matemática. Mas, as semelhanças se atêm apenas a esta particularidade, pois o padrão adotado pela compressão fractal para a transformação de pixels em expressões matemáticas é sensivelmente diferente do modelo JPEG/DCT.
. Passo 1: inicialmente, não se determina um bloco fixo para se analisar suas características. O bloco, chamado região de domínio, pode ter qualquer tamanho e formato. Para isso, exige-se que essa região de domínio possua afinidade de cor, tom ou textura.
. Passo 2: escolhem-se áreas de atuação dentro das regiões de domínio.
. Passo 3: aplicam-se, nessas regiões de atuação, transformações affines e escolhe-se a área de atuação que melhor representa a região de domínio. Repete-se a operação para todas as regiões de domínio da imagem.
. Passo 4: é criado o arquivo FIF (Fractal Image Format), que se compõe de um cabeçário com informações sobre a escolha específica da região de domínio e um conjunto de coeficientes affines determinados para cada região de domínio.
Os dados gerados pelo arquivo compactado FIF independem da resolução da imagem original. Assim, quando descompactado, pode-se criar uma réplica da imagem original em qualquer resolução. E mais, pode-se manipular uma figura, encolhendo-a, deformando-a, e até mudando seu brilho e contraste. Quanto maior a região de domínio, menos transformações são necessárias para construir a imagem, implicando num arquivo compactado menor.
Partindo-se do arquivo FIF, a descompressão é feita nos passos a seguir:
. Passo 1: faz-se a leitura do cabeçário, que contém informações sobre a melhor área de atuação e analisa as transformadas affines.
. Passo 2: criam-se buffers de memórias para os domínios e áreas de telas.
. Passo 3: inicializa-se o buffer de tela para um estágio inicial arbitrário.
. Passo 4: aponta-se para o primeiro domínio.
. Passo 5: troca-se este domínio com os dados da transformada da área de atuação apropriada, usando os coeficientes affines armazenados para esse domínio.
. Passo 6: repete-se a operação acima até montar-se a imagem.
CONCLUSÃO
A compressão fractal de imagens veio resolver muitos dos problemas do JPEG/DCT. O processo fractal pode usar regiões maiores e mais complexas com resoluções maiores, enquanto o tamanho do arquivo comprimido em FIF não crescerá em proporção direta. A compressão fractal predispõe imagens de alta resolução de um modelo fractal determinado durante a compressão.
O processo de transformação é assimétrico, mais trabalho computacional requisitado para a compressão que para descompressão. Na técnica JPEG/DCT, o tempo de compressão e descompressão é simétrico, carece do mesmo tempo de processamento.
Relacionado com a compressão de imagens pelo método fractal, é interessante comentar, seu algoritmo é extremamente complexo. Esse fato explica a razão pela qual este seja tão resguardado do domínio público.
Capacidade de descompressão independente da compressão distingue compressão fractal de imagens da JPEG/DCT.
Esses métodos hoje representam o começo da solução de muitos problemas com relação a armazenamento em disco e transporte de imagens por cabos telefônicos.
Uma das áreas que cresce, pelo fascínio que representa no mundo dos computadores pessoais, é a multimídia.
Hoje, tem-se nas telas de microcomputadores caseiros imagens belíssimas de alta resolução que podem ser movimentadas ou alteradas facilmente.
Mas, o maior obstáculo para a capacidade dos equipamentos atuais deste porte é o tamanho que essas imagens representam para o espaço em disco.
Por exemplo, uma imagem de 800 por 600 pixels e true color (24 bits que dão a possibilidade de mais de 16 milhões de variações de cores para cada pixel) requer 1.44 megabytes de espaço em disco. Já 10 segundos de vídeo com uma amostragem de 30 quadros (imagens) por segundo com 300 por 200 pixels (baixa resolução) em true color consomem a enormidade de 57.6 megabytes em disco.
Diante dessa situação, percebe-se claramente, a necessidade de compressão dessas imagens. No mundo da computação, comprimir informação resume-se em "perceber que a maioria dos dados acumulados em arquivos tem um alto grau de redundância; após isso, aproveitar-se dessas redundâncias para gravar o arquivo de forma mais resumida ou, em outras palavras, menor." [ROS92]
As tecnologias de compressão dividem-se, por níveis de perda do arquivo original em relação ao arquivo posteriormente descomprimido, nos métodos lossy e lossless.
O método lossless, sem perda, comprime a imagem produzindo um arquivo idêntico ao original, nesse caso tratando com imagem, pixel a pixel (método utilizado por compactadores de dados, como PKZIP e ARJ). O grande problema do método lossless é a baixíssima razão de compressão, girando em torno de 2 para 1 (ou 50 por cento do tamanho original).
Já o método lossy tem como característica uma razão de compressão muito mais alta, por volta de 50 para 1. Isso ocorre porque nesse método há uma supressão de parte da informação original, de tal forma que esta não faça falta posteriormente. Os métodos descritos a seguir, o DCT (Discrete Cosine Transform) e a compressão Fractal de Imagens, objeto desse artigo, são do tipo lossy.
O PADRÃO JPEG/DCT
No mundo da compressão de imagens, existe uma entidade que se preocupa em padronizar o método baseado no mapeamento bit a bit, de escala contínua de cores e um armazenamento em uma pequena quantidade de bits. O nome dessa associação é Joint Photographic Experts Group, e seu padrão adotado para compressão de imagens é o DCT.
COMPRESSÃO JPEG/DCT
O sistema DCT divide a imagem em blocos de 8 por 8 pixels, tendo-se 64 pixels representando este espaço da imagem. Utilizando-se de artifícios matemáticos, aqui ignorados por não serem objeto central desse artigo, o DCT despreza a "imagem física" representada pelo conjunto de pixels, identificando-a como 64 valores chamados Coeficientes DCT, que são jogados numa função Coseno Base. Têm-se, então, 64 valores coseno com suas apropriadas amplitudes.
A junção dessas funções coseno, cada uma criada para representar uma área da imagem, e seus respectivos coeficientes, passa a representar a imagem então comprimida.
Sendo assim, para uma imagem de tonalidades contínuas, a informação visual concentra-se em um número pequeno de coeficientes.
LIMITAÇÕES DO JPEG/DCT
Funciona, efetivamente, para baixar razões de compressão, 25 para 1, sofrendo de problemas em altos níveis de compressão. Neste processo, o tamanho do arquivo comprimido está intimamente ligado ao número de blocos (de 8 por 8 pixels) pelo qual a figura foi dividida. Isto mostra que, quanto maior a resolução da figura, maior será o tamanho do arquivo comprimido pelo JPEG/DCT. Para se obterem razões de compressão altas nesse método, perde-se em qualidade da imagem, que fica degradada em relação à imagem original.
Uma prova disso, é o Fenômeno Gibb, um efeito de deformação da imagem. Neste fenômeno, as bordas originalmente bem definidas da figura tornam-se como se estivessem borradas, sem suas margens ou limites igualmente bem determinados. Isso decorre do fato de que imagens de alta resolução descomprimidas pelo método JPEG/DCT resultam em pixels replicantes nas áreas com margens bem definidas.
FRACTAIS
Até recentemente era mais conhecido como um ponto de encontro para os mundos das artes e da matemática. A pintura e as composições de música fractal impressionaram a vanguarda com repetições aleatórias e interações que caracterizam a filosofia fractal.
A Interated Systems, de Norcross, Georgia, é a empresa que usou a essência da matemática fractal em uma tecnologia de compactação de imagens que pode provar ser a melhor resposta para o armazenamento e apresentação de meios que usam uma imagem.
TRANSFORMAÇÕES AFFINES
A concepção de uma transformação Affine é o centro da compressão da imagem fractal. Matematicamente, usa-se uma transformada para se representar de outra forma uma expressão. Num exemplo hipotético, supondo-se que a multiplicação apresentada seja difícil ou demorada, pode-se usar a transformada:
Passando do conceito matemático puro e partindo para aplicação em processamento de imagens, a transformada é usada sobre algumas combinações de rotação, escalonamento, desvio e translação em n dimensões espaciais.
COMPRESSÃO FRACTAL DE IMAGENS
A compressão pelo fractal tem certa relação com o sistema JPEG/DCT por transformar pontos da imagem numa expressão matemática. Mas, as semelhanças se atêm apenas a esta particularidade, pois o padrão adotado pela compressão fractal para a transformação de pixels em expressões matemáticas é sensivelmente diferente do modelo JPEG/DCT.
. Passo 1: inicialmente, não se determina um bloco fixo para se analisar suas características. O bloco, chamado região de domínio, pode ter qualquer tamanho e formato. Para isso, exige-se que essa região de domínio possua afinidade de cor, tom ou textura.
. Passo 2: escolhem-se áreas de atuação dentro das regiões de domínio.
. Passo 3: aplicam-se, nessas regiões de atuação, transformações affines e escolhe-se a área de atuação que melhor representa a região de domínio. Repete-se a operação para todas as regiões de domínio da imagem.
. Passo 4: é criado o arquivo FIF (Fractal Image Format), que se compõe de um cabeçário com informações sobre a escolha específica da região de domínio e um conjunto de coeficientes affines determinados para cada região de domínio.
Os dados gerados pelo arquivo compactado FIF independem da resolução da imagem original. Assim, quando descompactado, pode-se criar uma réplica da imagem original em qualquer resolução. E mais, pode-se manipular uma figura, encolhendo-a, deformando-a, e até mudando seu brilho e contraste. Quanto maior a região de domínio, menos transformações são necessárias para construir a imagem, implicando num arquivo compactado menor.
Partindo-se do arquivo FIF, a descompressão é feita nos passos a seguir:
. Passo 1: faz-se a leitura do cabeçário, que contém informações sobre a melhor área de atuação e analisa as transformadas affines.
. Passo 2: criam-se buffers de memórias para os domínios e áreas de telas.
. Passo 3: inicializa-se o buffer de tela para um estágio inicial arbitrário.
. Passo 4: aponta-se para o primeiro domínio.
. Passo 5: troca-se este domínio com os dados da transformada da área de atuação apropriada, usando os coeficientes affines armazenados para esse domínio.
. Passo 6: repete-se a operação acima até montar-se a imagem.
CONCLUSÃO
A compressão fractal de imagens veio resolver muitos dos problemas do JPEG/DCT. O processo fractal pode usar regiões maiores e mais complexas com resoluções maiores, enquanto o tamanho do arquivo comprimido em FIF não crescerá em proporção direta. A compressão fractal predispõe imagens de alta resolução de um modelo fractal determinado durante a compressão.
O processo de transformação é assimétrico, mais trabalho computacional requisitado para a compressão que para descompressão. Na técnica JPEG/DCT, o tempo de compressão e descompressão é simétrico, carece do mesmo tempo de processamento.
Relacionado com a compressão de imagens pelo método fractal, é interessante comentar, seu algoritmo é extremamente complexo. Esse fato explica a razão pela qual este seja tão resguardado do domínio público.
Capacidade de descompressão independente da compressão distingue compressão fractal de imagens da JPEG/DCT.
Esses métodos hoje representam o começo da solução de muitos problemas com relação a armazenamento em disco e transporte de imagens por cabos telefônicos.