Processamento
Digital de Imagens
Compressão de Imagens Digitais -
Uma Introdução
Nesta aula abordaremos os principais
conceitos relacionados à compressão de imagens digitais e
suas aplicaçoes.
Importante: O resumo abaixo deve ser complementado,
pelo aluno, com a leitura dos textos sugeridos na bibliografia do curso.
Tópicos
Introdução - Conceitos iniciais
- Compressão de uma
imagem digital
- É
um procedimento computacional aplicado a uma imagem digital com a
finalidade de diminuir o tamanho final do arquivo que representa a
imagem. Após a aplicação do procedimento a
quantidade total de dados necessária para representar uma imagem
é reduzida.
- Dois fatores são importantes quando se analisa a
compressão de uma imagem digital: a taxa de compressão e a velocidade de processamento.
- A taxa de compressão
é igual 1 - a razão entre o tamanho final da imagem
comprimida e o tamanho da imagem sem compressão. Quanto menor
for a imagem comprimida, maior será a taxa de compressão.
- A velocidade de
processamento é importante porque insere um "overhead"
de tempo na utilização da imagem. Num sistema que
necessita armazenar e buscar imagens digitais em uma mídia
é necessário ter-se procedimentos de compressão e
descompressão das imagens originais. Se esses procedimentos
são muito demorados pode no se justificar a
aplicação dos mesmos em aplicações que
demandam rapidez no processamento, por exemplo.
- Importância do procedimento de
compressão
- Reduz-se o tamanho final do arquivo que armazena a imagem.
- Aumenta-se a velocidade de transmissão de dados via
redes pois a quantidade de informação a ser transmitida
é menor.
- Importante: Pode-se dividir os procedimentos de compressão
de imagens em duas classes:
os procedimentos sem perdas
(ou reversíveis) e os procedimentos
com perdas (ou irreversíveis).
Compressão sem perdas
-
Aspectos Gerais
-
Os procedimentos de compressão
de imagens sem perdas, também conhecidos como
reversíveis, são aqueles que possibilitam que a imagem
original possa ser recuperada totalmente a partir de um decodificador
aplicado à imagem comprimida. Isto significa que o processo de
compressão pode ser revertido a partir da imagem comprimida e de
informações do codificador.
-
Os procedimentos de compressão reversíveis
podem ser classificados em baseados
em dicionário e baseados
em estatísticas.
-
Entre os baseados em dicionários pode-se ressaltar os
procedimentos: RLE ( Run Length Encoder ), Aritmético e
LZW (Lempel - ZivWelch).
-
Entre os baseados em estatísticas pode-se citar os
procedimento: Shannon, Huffman e Gilbert.
- Está fora do escopo desta apostila explicar todos os
esquemas de compressão envolvidos nos procedimentos acima
citados. Para aprofundamento com maiores detalhes, sugere-se ao
aluno que leia o artigo: Compressão Sem Perdas de Imagens Digitais de
João Fonseca Neto e também outros
artigos encontrados em livros específicos ou na internet.
- Um exemplo de compressão RLE
- O
exemplo abaixo ilustra o uso de uma codificação em
código de
corrida, RLE, sem perdas.
15 12 12 10 12 12
15
01 15 02 12 01 10 02 12 01 15
X= 12 12 10 10 10 12
12 Y= 02 12 03 10 03 12
12 10 10 10 10 10
12
05 10 01 12
10 10 10 10 10 10
10
07 10
- A informação contida em Y contém a
frequência de aparecimento, na sequência de cima para baixo
e da esquerda para a direita, seguida do valor digital da imagem X.
- Supondo que cada nível da imagem digital esteja
codificado com 1 byte (8bits), o dado da imagem X, acima, está
representado com 28 bytes. Depois da codificação RLE
pode-se representar o mesmo dado, sem perda de
informação, com 22 bytes como mostrado em Y. Conseguimos,
assim, uma reducao de 6 bytes nos 28 totais da imagem de entrada.
- Esse tipo de codificação produz uma
compressão maior quanto mais homogênea for a imagem de
entrada.
- Observe que este tipo de codificação pode criar
arquivos de saída maiores do que o arquivo da imagem de entrada.
Isto pode ocorrer em imagens heterogeneas com grandes
variações de níveis digitais.
Compressão com perdas
-
Características Gerais
-
Os procedimentos de compressão
de imagens com perdas,
também conhecidos como não reversíveis, são
aqueles que possibilitam que a
imagem original possa ser recuperada dentro de um certo critério
de perda em relação à imagem original. Isto
significa que não é possível, através de
algum procedimento reverso, se restaurar a imagem com todas suas
informações originais. A decodificação da
imagem produz uma imagem aproximada da imagem original.
- A grande vantagem desses procedimentos é o alcance de
taxas maiores de compressão, criando-se, assim, imagens menores
que podem transitar mais rápido pelas redes.
- A principal desvantagem é a impossibilidade de se
reconstruir o dado original com o nível de detalhamento inicial.
- Um exemplo de compressão RLE com perdas
- Considere
uma imagem X e um limiar de diferença entre os valores digitais
de X igual a l. Isso
significa que um valor digital será considerado igual ao
anterior caso a diferença entre eles seja menor que l. Pode-se considerar o uso
de uma codificação RLE com limiar aplicando-se esse
critério de decisão. O exemplo abaixo ilustra este
conceito.
- O
exemplo abaixo mostra o uso de uma codificação em
código de
corrida, RLE, com perdas considerando-se um limiar igual a 2.
15 12 12 10 12 12
15
01 15 05 12 01 15
X= 12 12 10 10 10 12
12 Y= 21 12
12 10 10 10 10 10
12
10 10 10 10 10 10
10
- Comparando a informação Y deste exemplo a Y do
exemplo anterior ve-se que se tem uma compressão muito maior.
Neste caso houve uma redução de 28 bytes para 8 bytes.
- Como a codificação foi com perdas, não
é possível se reconstituir a imagem X com o mesmo
nível de detalhes do dado original.
- Está fora do escopo desta apostila, detalhar mais os
vários tipos de procedimentos de compressão.
(Referências podem ser
encontradas em livros específicos e na internet).
|
Exercícios
Laboratório - Compressão de uma imagem digital.
Faça um programa em Java, para codificar e decodificar uma
imagem digital em formato raw sem perdas de informacao.
Sugestão: utilize a imagem em níveis de cinza apresentada
abaixo.
- Compare os tamanhos da imagem de entrada e da imagem de
saída. Qual o fator de compressão que voce
encontrou?
- Faça um relatório sobre o laboratório e
envie para o professor.
Observação: O
relatório deve ser digital e deve ser enviado para o professor
em 1 semana. O relatório deve conter:
Identificação do aluno (
nome, nro de matrícula, outros...) e data.
Nome do experimento do laboratório.
Uma introdução explicitando o objetivo do trabalho do
laboratório.
Uma descrição da metodologia utilizada para
resolver o problema.
Uma descrição dos resultados obtidos com análises
pertinentes.
Uma seção de conclusão com opiniões
próprias de cada
aluno e sugestões gerais relacionadas com o experimento.
Exercícios
gerais
1. Explique dois objetivos importantes
relacionados à compressão de imagens digitais.
2. Aplique o procedimento de codificação RLE à
imagem X abaixo. Qual a taxa de compressão obtida? Voce
utilizaria esse procedimento para gerar uma imagem de saída a
ser transmitida pela internet? Justifique sua resposta.
15 12 15 10 12 12
15
X= 12 12 10 10 10 12
12 Y= ?
12 10 10 12 10 10
12
10 12 10 15 10 10
10
3. Aplique o procedimento de codificação RLE com perdas,
definido neste texto, à imagem X acima. Utilize um limiar igual
a 3. Qual a
taxa de compressão obtida? Compare esse resultado com o
resultado da questão 2. Voce utilizaria esse procedimento para
gerar
uma imagem de saída a ser transmitida pela internet? Justifique
sua
resposta.
4. Uma
otimização para a codificação de corridas
RLE com perdas, apresentada neste texto, seria armazenar um vetor com
os valores considerados iguais (dentro do limiar) e substituir esse
valor pela média dos valores do vetor. Voce concorda com isso?
Aplique esse critério na imagem X abaixo e compare a
saída com o resultado apresentado na parte conceitual desta
apostila.
15 12 12 10 12 12
15
X= 12 12 10 10 10 12
12 Y= ?
12 10 10 10 10 10
12
10 10 10 10 10 10
10 .
5. Como você modificaria o critério apresentado na
questão 4 para considerar os conceitos estatísticos de
moda e de mediana. Qual a vantagem de se utilizar a moda ou a mediana
no lugar das média dos valores do vetor sugerido na
questão 4?
6. Pesquise sobre a forma como o google earth ou o google maps consegue
apresentar imagens da terra com diferentes níveis de
resolução e com velocidade praticamente em tempo real
(considerando uma conexão com a internet rápida). Onde
ficam armazenados as imagens? Como elas ficam disponíveis para o
usuário? Voce acha que o google trabalha com imagens
comprimidas? Justifique.