Академический Документы
Профессиональный Документы
Культура Документы
DADOS
Maria Carolina de Souza Santos1
Orientador: Prof. Ms. Mauricio Duarte2
Centro Universitrio Euripides de Marilia UNIVEM
FATEC Faculdade de Tecnologia de Gara
Caixa Postal 17400-000 Gara - SP Brasil
mariacarolinasouzasantos@gmail.com
maur.duarte@gmail.com
INTRODUO
Compresso de texto est relacionada com as maneiras de representar o texto
original em menos espao. Para isto, basta substituir os smbolos do texto por outros
que possam ser representados, usando um nmero menor de bits ou bytes. (ZIVIANI,
2007).
Assim, a compresso de dados um processo de reduo do espao ocupado
por dados num determinado dispositivo. O objetivo central diminuir a quantidade de
bytes do dado sem causar alteraes, ou seja, utilizar compresso de dados sem perdas.
A pesquisa se constitui na proposta de criar um padro de rvore de
codificao, utilizando os conceitos abordados por Huffman, que um dos mtodos de
compresso mais conhecidos, cujo objetivo deixar no nvel mais baixo da rvore as
palavras de menor frequncia, que, por consequncia, geram cdigos binrios mais
curtos para palavras mais decorrentes.
O estudo de compresso importante para reduzir dados como imagens, vdeos
e textos em situaes como transmisso de dados, pois o ideal diminuir o tempo de
latncia, e tambm para backup, que alm de utilizar o conceito de compactao
necessita fazer a compresso dos dados; caso os backups sejam feitos com frequncia.
Com a compresso, o arquivo compactado no ocupa tamanhos elevados nos
dispositivos de armazenamento.
1
1. REVISO BIBLIOGRFICA
1.1 COMPRESSO DE DADOS
Todos os dados computacionais como texto, msicas, imagens e vdeos so
compostos por uma srie de bits, sendo bit a menor unidade de armazenamento, que
podem ser representados por bytes, que o conjunto de oito bits.
Com o intuito de uma unidade de armazenamento ocupar o menor espao
possvel, comprimir dados, ou seja, reduzir o tamanho das informaes, esse
procedimento tornou-se necessrio. Atualmente, existem vrios mtodos de
compresso, alguns deles utilizados de forma genrica, para vrios tipos de dados, e
outros de forma especifica.
Muitos desses mtodos utilizam o conceito de substituio de informao,
pois substituem uma quantidade de informao por uma de tamanho menor. Dessa
forma, o dado comprimido ocupa menos espao de armazenamento e,
consequentemente, menos tempo para ser lido do disco ou ser transmitido por um
meio de comunicao. Porm existem suas desvantagens, que at o momento so
inevitveis, sobretudo em relao ao processamento: custoso codificar e
decodificar. Como exemplo desses mtodos, podemos citar o de Huffman.
4 passo: Cada novo n ter associado a ele uma ns palavra (Figura 4).
Figura 4 - 4 passo da construo da rvore.
Palavra
NO
MEIO
DO
CAMINHO
TINHA
UMA
PEDRA
Cdigo
11100
11101
11110
11111
110
10
0
2. METODOLOGIA
3. PROJETO
Projetar uma rvore com n palavras vago, pois poderiam ter diversas
representaes. Pensando nisto que este projeto prope um novo padro na
construo da rvore de codificao de Huffman.
A construo da rvore dividida em 4 etapas. Para exemplificar as etapas
usaremos como exemplo o seguinte texto:
Depois de algum tempo voc aprende a diferena , a diferena entre
dar a mo acorrentar uma alma voc aprende que amar no significa
apoiar - se . que companhia nem sempre significa segurana ou
proximidade .
1 Etapa:
Como foi proposto por Huffman, deve-se separar o texto por palavras e
verificar a frequncia das palavras.
Em seguida ordenar as palavras das de menores frequncias para as de
maiores, como na tabela 2.
Tabela 2 Palavras e suas frequncias em ordem crescente.
Ordem
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Etapa:
O nvel mais baixo da rvore deve ser composto por pares.
Para determinar a quantidade de palavras nesse nvel, usa-se a seguinte
equao:
3 Etapa:
Nesta etapa estes pares gerados sero associados a um novo n. O novo n
conter o par na sua sub-rvore esquerda e uma palavra em sua sub-rvore
direita. Esses novos ns devero ser associados entre si de par em par tambm,
criando outros ns (Figura 6).
Figura 6 Ns e suas sub-rvores.
4 Etapa:
Se a quantidade de palavras inseridas at o final da 3 etapa for diferente do total de
palavras, insere-se o restante acima da raiz.
r = n ti
Onde ti o total de palavras inseridas e r a quantidade de palavras que sero
inseridas acima da raiz (Figura 7).
Aps criar a rvore possvel determinar um cdigo binrio para cada palavra e
mediante esse cdigo feita a descompresso.
Tabela 3 Palavras e seus respectivos cdigos binrios.
Palavra
Depois
De
Algum
Tempo
,
Entre
Dar
Mo
acorrentar
Uma
Alma
Amar
No
Apoiar
Se
Cdigo
00000000
00000001
00000100
00000101
00010000
00010001
00010100
00010101
01000000
01000001
01000100
01000101
01010000
01010001
01010100
01010101
Palavra
!
companhia
nem
sempre
segurana
ou
proximidade
voc
aprende
diferena
e
que
significa
.
a
Cdigo
0101011
0101001
0100011
0100001
0001011
0001001
0000011
0000001
01011
01001
00011
00001
011
001
1
Analisando a tabela gerada pelo exemplo do projeto, um arquivo binrio ser gerado
com as codificaes descritas. Assim, possvel notar que as palavras menos
frequentes foram codificadas em 7 bits e, no pior caso (um nico caractere - possui 1
byte) economizou 1 bit. Em contrapartida, a maior palavra do texto proximidade,
que possui 10 bytes, foi comprimida em 2 bits, indicando um grande reduo do seu
tamanho.
O arquivo original tem 209 bytes, no entanto, aps aplicar o algoritmo proposto
nesse projeto, ele ficou com 28,625 bytes. Ao fazer a razo de compresso: 28,625
bytes / 209 bytes, temos que o arquivo comprimido foi reduzido para o tamanho de
13% do tamanho original.
Para pequenos arquivos de texto possvel perceber que este padro proposto tem
uma taxa de compresso alta, porm para textos muito grandes essa taxa no
efetiva. Fica como proposta, para trabalho futuro, a anlise e testes para arquivos
maiores e o desenvolvimento de um padro de rvore que se adapte essa realidade.
REFERNCIAS BIBLIOGRFICAS
ZIVIANI, N. Projeto de Algoritmos com implementaes em Java e C++. So
Paulo: Cengage Learning, 2007.
TENENBAUM, A. M. et al. Estruturas de Dados usando C, Makron Books, 1995.