Aula 3
Compressão de Dados
Rodrigo da Cruz Fujioka fujiokabr@gmail.com
Estrutura de Dados 2
Objetivos-> Compressão de Dados
2
Compressão de Dados X
Compactação de Dados
• São dois processos distintos
– Compressão: reduz a quantidade de bits para representar algum dado
para representar algum dado
– Compactação: união dados que não estejam unidos.
• Ex.: Desfragmentação de discos
Técnicas de Compressão de Dados
• Introdução
• Huffman
4
• Shannon-Fano
• Comprimento-de-carreira
• Ziv-Lempel
Compressão de Dados
• A informação é gerada no mundo atual de forma contínua e as taxas estão sempre crescendo.
5
Compressão de Dados
• É mais atrativo utilizar meios eletrônicos de armazenamento para guardar todas estas
6
guardar todas estas informações.
Compressão de Dados
7
• Entretanto, mesmo assim existem limites para este armazenamento.
Compressão de Dados
• Para que estes limites sejam estendidos um pouco mais, existe o conceito de compressão de dados.
8
Compressão de Dados
• Compressão de dados:
– É o processo de codificar dados de tal forma que eles usem menos espaço de armazenagem ou menos tempo de
9
armazenagem ou menos tempo de transmissão que eles usariam caso não estivessem comprimidos.
COMPRESSÃO
Existem 2 tipos de compressão:
• Com perdas (Lossy)
• Sem perdas (Lossless)
As compressões
com perdas
sãoaquelas operações que admitem alguma aquelas operações que admitem alguma perda de qualidade dos dados. (exemplo típico:
as imagens.jpg na internet em que se percebe uma diminuição da qualidade próximo às bordas ou, inclusive, trocas de cor na imagem).
COMPRESSÃO
COMPRESSÃO
Existem 2 tipos de compressão:
• Com perdas (Lossy)
• Sem perdas (Lossless)
As compressões
sem perdas
sãoaquelas operações que não admitem alguma perda de qualidade dos dados (exemplo: as imagens gif).
COMPRESSÃO
• Sem perdas (Lossless)
• A informação é comprimida por algum algoritmo e, ao descomprimir, todas as algoritmo e, ao descomprimir, todas as informações são recuperadas
– Exemplo típico: ficheiros bzip, gzip, .gz – Os mais conhecidos são o .zip ou .rar.
Compressão de Dados
Assim, o objetivo da compressão de dados é representar a informação da melhor forma possível utilizando a menor
14
melhor forma possível utilizando a menor quantidade de dados possível.
Compressão de Dados
• Representação da informação –
– Ex.: Masculino e Feminino
– (M e F, 1 e 2)
15
– Cento e vinte e oito
– 80 (hexadecimal), 128, 10000000 (binário), CXXVIII, |||...| (128 barras)
– 80 é a menor forma !!!
Compressão de Dados
• Transferência de informação:
– Quanto melhor for a estrutura (meio de compressão), mais rápida será a transferência.
16
transferência.
• Usar métodos de compressão de dados para reduzir o tamanho da representação, sem afetar a informação.
Compressão de Dados
• Condições para compressão:
– Aplicar métodos de codificação e decodificação para gerar um código eficiente.
• Propriedades:
17
• Propriedades:
– Cada símbolo tem seu código equivalente:
– Ex.: A = 10 AAA = 101010 código
símbolo
Compressão de Dados
• Propriedades:
– Os símbolos mais freqüentes devem ter códigos menores
18
– Ex.1: A = 10 B = 01 ABBB = 10010101
– Ex.2: A = 10 B = 1 ABBB = 10111
Compressão de Dados
• Comprimir dados destina-se também a retirar a redundância, baseando-se que muitos dados contém informações redundantes que podem ou precisam ser eliminadas de alguma forma
19
– Ex. A seqüência ‘AAAAAA’, que ocupa 6 bytes, poderia ser comprimida para ‘6A’, que ocupa 2 bytes
Compressão de Dados
• Para verificar a eficiência analisamos a taxa de compressão que é expressa como porcentagem e indica a quantidade de redundância removida a partir da entrada.
20
Razão Compressão = Tam. (entrada) – Tam. (saída) Tam. (entrada)
Compressão de Dados
• Exemplo:
– ABABABAB =
00001010|00001011|00001010|00001011|000 01010|00001011|00001010|00001011
21
01010|00001011|00001010|00001011 (64 bits = 8 bytes)
– Representação: A = 0 e B = 1 – 0|1|0|1|0|1|0|1 = 8 bits = 1 byte
• Razão Compressão = (64 – 8) / 64 ≅ 87,5 %
Compressão de Dados
• Antes de se utilizar a técnicas de compressão, é necessário saber qual o tipo de informação que será compactada
– Texto
22
– Texto
– Imagens – Sons
• Algoritmos de compactação de textos não são eficientes na compactação de sons
Trabalho sobre compressão
• Temas
– Huffman ,Shannon-Fano, Ziv-Lempel, LZ77 ,LZ78 ,DEFLATE
• Apresentação (Slides) + Trabalho escrito
– Introdução – compressão de dados
23
– Introdução – compressão de dados – Teoria
– Algoritmo – Aplicações
– Implementação – Exemplo – Referências
Avaliação do trabalho
• Material escrito
– Conteúdo e organização
• Slides
– Conteúdo e organização
24
– Conteúdo e organização
• Apresentação
• Presença e participação nas demais apresentações
Fonte
Fontes originais do professor Rodrigo César Lobo
http://rclobo.googlepages.com/
25