Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática
description
Transcript of Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática
![Page 1: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/1.jpg)
Universidade Federal do ParáCentro de Ciência Exatas e Naturais
Departamento de InformáticaDisciplina: Estrutura de Dados II
Professor: Antonio Coimbra Sampaio
Compressão e Compactação
de Dados
Alunos: Abnatal Junior 9908800201Frederico Reis 9908802001
![Page 2: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/2.jpg)
Por que comprimir ?
• Redução do espaço físico utilizado
• Agilização da transmissão de dados
![Page 3: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/3.jpg)
Redução do espaço físico utilizado:
Mais comumente utilizada em bancos de dados, que incorporando a compressão no projeto de seus registros permite um significativo ganho em termos de ocupação em discos e velocidade de acesso.
![Page 4: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/4.jpg)
Agilizar a transmissão de dados:
• Alterando a taxa de transferência
• Permitindo o aumento do número de terminais em uma rede
![Page 5: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/5.jpg)
Tipos de compressão
• Compressão lógica
• Compressão física
![Page 6: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/6.jpg)
Compressão lógica
Refere-se ao projeto de representação otimizada de dados. Ex: Projeto de um banco de dados utilizando sequências de bits para representação de campos de dados.
![Page 7: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/7.jpg)
Compressão física
Realizada sobre dados existentes, a partir dos quais é verificada a repetição de caracteres para efetivar a redução do número de elementos de dados.
![Page 8: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/8.jpg)
Tipos de compressão física
1. Orientada a caracter- indica o caracter (ou conjunto de caracteres) repetido através da substituição por um caracter especial;
2. Estatística- indica a frequência de repetição de caracteres e representa isso através de sequências de bits
![Page 9: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/9.jpg)
Compressão orientada a caracter
• Run-length• Run-length estendido
• Inserção e deleção
Seleção de caracteres indicadores:
![Page 10: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/10.jpg)
Codificação run-length
Exemplo:
run-lengthAAAAAAA Ce7A
Codificador
AAAAAAA
![Page 11: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/11.jpg)
Codificação run-length estendido
Utilizado para número de repetições maior que 256 e há caracteres delimitadores no início e no fim da sequência de codificação.
![Page 12: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/12.jpg)
Exemplo:
• SO- Shift Out• R- Run length• A- Caracter repetido• 980-Nº de repetições do caracter• SI- Shift In
SO R A 980 SI
![Page 13: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/13.jpg)
Codificação por inserção e deleção
Utilização de um caracter convencional quando não for possível a colocação de caracteres especiais.
Exemplo: K6A
![Page 14: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/14.jpg)
Técnicas de compressão orientada a caracter:
• Supressão de caracteres nulos• Mapeamento de bit• Comprimento de fileira• Compactação de meio byte• Codificação diatômica• Substituição de padrões• Codificação relativa
![Page 15: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/15.jpg)
Comprimento de fileira
Notação: CeCN
• Ce-caracter especial• C- caracter repetido• N-nº de repetições
![Page 16: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/16.jpg)
Fluxograma para o comprimento de fileira
![Page 17: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/17.jpg)
Supressão de caracteres nulos
Notação: CeNCe-caracter especialN-Nº de repetições
Exemplo: ...vazio. Exatamente
Após codificação:...vazio.Ce9Exatamente
![Page 18: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/18.jpg)
Fluxograma para o algoritmo apresentado:
![Page 19: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/19.jpg)
Mapeamento de bit
Exemplo: ...abacate...
codificador...abacate... ...Mbbcte...
![Page 20: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/20.jpg)
Mbbcte
Mb-Mapa de bits
Mapa de bits:0 1 0 1 0 11 1
a b a c a t e
![Page 21: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/21.jpg)
Fluxograma para o mapa de bits
![Page 22: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/22.jpg)
Compactação de meio byte
0123456789
0011001100110011001100110011001100110011
0000000100100011010001010110011110001001
![Page 23: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/23.jpg)
Ce N C1 C2 C3 C4 C5 ... 1byte 1byte 1byte 1byte
Ce-caracter especialN-nº(binário) de caracteres comprimidosC1-Metade do caracter comprimidoC2 a C5-Metade não comprimivel
![Page 24: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/24.jpg)
Fluxograma para a compactação de meio byte
![Page 25: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/25.jpg)
Técnica dos sete bits
Aplica-se somente a arquivos texto. Baseia-se no fato que nenhum caracter de texto utiliza o oitavo bit.
![Page 26: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/26.jpg)
Exemplo: Compactar ‘ABCD’
A 0 1000001B 0 1000010C 0 1000011D 0 1000100
1000001.1000010.1000011.1000100
Após compactação:
![Page 27: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/27.jpg)
Representação não ASCII
Consiste em adotar uma nova representação binária para os caracteres. Só faz sentido se o número de caracteres distintos for menor que 128.
![Page 28: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/28.jpg)
Exemplo: Compactar ‘ABCD’
Representação ASCII Nova representação
A 01000001 00
B 01000010 01
C 01000011 10
D 01000100 11
![Page 29: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/29.jpg)
Antes da compactação:
Após compactação:
00011011
01000001010000100100001101000100
![Page 30: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/30.jpg)
Codificação diatômica
Permite a representação de um par de caracteres em apenas um caracter especial.Exemplo: avião
codificador aviCe
![Page 31: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/31.jpg)
Duplas de ocorrências
Grau de ocorrências
ão 12
é 11
qu 14
ãe 03
gu 05
Exemplo:
![Page 32: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/32.jpg)
Fluxograma para codificação diatômica
![Page 33: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/33.jpg)
Substituição de padrões
Palavra =>Ce
São estabelecidas tabelas de palavras de maior freqüência de ocorrência para substituição com o caracter especial
![Page 34: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/34.jpg)
Codificação relativa
• Valores intervalares
• Valores binários
![Page 35: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/35.jpg)
Valores intervalares
Val Var1 Var2...
•Val-Primeiro valor da sequência•VarN-Variação do valor anterior para o atual
Exemplo: 10.3 10.1 10.8 10.4 10.4 10.9 10.2
![Page 36: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/36.jpg)
Exemplo:
10.3 10.1 10.8 10.4 10.4 10.9 10.2
Codificador
10.3 -.2 .7 -.4 0 .5 -.7
![Page 37: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/37.jpg)
Valores binários
Comparação feita entre uma linha e outraExemplo:
...01001011100010101...
...01001011111100001...
A diferença seria em 5 bits:
...______MMMM_M_...
![Page 38: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/38.jpg)
Compressão Estatística
Realiza uma representação otimizada de caracteres ou grupo de caracteres
• Codificação de Huffman
• Codificação de Shanno-Fano
![Page 39: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/39.jpg)
Codificação de Huffman
Obtém uma nova representação para cada caracter considerando sua probabilidade de ocorrência.
O processo de obtenção baseia-se na montagem de uma árvore binária.
![Page 40: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/40.jpg)
Exemplo
Considerando o conjunto de 8 caracteres definido abaixo
Caracter Representação Probabilidade
A 000 0.50B 001 0.25C 010 0.12D 011 0.06E 100 0.03F 101 0.02G 110 0.01H 111 0.01
![Page 41: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/41.jpg)
Caracter Código Largura ProbabilidadeProbabilidade
X Largura
A 0 1 0.50 0.50B 10 2 0.25 0.50C 110 3 0.12 0.36D 1110 4 0.06 0.24E 11110 5 0.03 0.15F 111110 6 0.02 0.12G 1111110 7 0.01 0.07H 1111111 7 0.01 0.07
2.01
Aplicando a codificação de Huffman, obtemos uma nova tabela de códigos
![Page 42: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/42.jpg)
F E D C B AH G
1 0
1 0
1 0
1 0
1 0
1 0
1 0
Obtenção do códigode Huffman
![Page 43: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/43.jpg)
Codificação de Shannon-Fano
Assim como o código de Huffman, este método também obtém uma nova representação para cada caracter de acordo com sua probabilidade de ocorrência.
O processo de obtenção baseia-se na divisão de conjuntos de probabilidades.
![Page 44: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/44.jpg)
Processo de Codificação
Considerando o conjunto dos caracteres a codificar definido abaixo
Caracter Probabilidade
A 0.5B 0.3C 0.1D 0.1
![Page 45: Universidade Federal do Pará Centro de Ciência Exatas e Naturais Departamento de Informática](https://reader036.fdocumentos.tips/reader036/viewer/2022062807/568150eb550346895dbf0570/html5/thumbnails/45.jpg)
A 0.3
B 0.3
C 0.3
D 0.1
0
0
1
1
0
1
0
1
Obtenção do código de Shannon-Fano