Escolar Documentos
Profissional Documentos
Cultura Documentos
Cdigos de Huffman
Codificao Aritmtica
processo de compresso e
descompresso
seja livre de perdas de informao
Imagens mdicas digitais
Transmisso de textos
Programas executveis
Banco de Dados
categorias
Baseados em dicionrio ou universal
Geram um arquivo comprimido contendo
cdigos de
comprimento fixo, normalmente, com 12 a
16 bits
No necessitam do conhecimento da
freqncia com
que os smbolos fonte ocorrem na
informao original
Mtodos estatsticos
Cdigos de Huffman
O algoritmo de usa uma tabela de freqncia de
ocorrncias para cada smbolo
A codificao para cada caractere deve ter um
prefixo nico
necessrio atribuir uma string de tamanho
varivel para cada caractere
Se os dados forem arranjados em uma rvore
binria, uma codificao para cada caractere
encontrada seguindo a rvore da raiz para o
caractere folha
Huffman - Exemplo
Comp rimr a seqncia de caracteres
AAAAAABBBBBCCCCDDDEEF
Cdigo
000
001
010
011
100
101
Huffman - Exemplo
Gera-se assim os bits
00000000000000000000loolooloolool
oiniono
oiooiioiioiiiooiooioi para
representar a
seqncia original
Isso d 63 bits de comprimento
Para usar o cdigo Huffman e
comprimir esta
Huffman - Exemplo
Freqncia
Caractere
Cdigo
Huffman - Exemplo
rvore
-40.55 ,--
.._,."
1
.
"
.-
.-
_
e
%
%
%.
...
',,n<1.
...
Huffman - Exemplo
A partir da rvore, identifica-se os cdigos para
cada smbolo
Para isto basta percorrer a rvore at o
smbolo desejado e "anotar" o bit
correspondente s arestas percorridas
Assim, gera-se a tabela
Caractere
Cdigo
00
10
11
010
0110
0111
Huffman - Exemplo
Codificando a seqncia original tem-se:
00000000000noinoloioniiiiiiolooloolool
loolloom,
totalizando 51 bits
Compresso de 12 bits, ou cerca de 20%
Em casos reais a compresso obtida
pode ser bem
maior pois a freqncia de alguns
smbolos bastante
grande enquanto a de outros quase
nula
Caracteres mais freqentes, e
conseqentemente com
smbolos mais curtos, so melhor
representados,
aumentando bastante a taxa de
compresso
Huffman - Exemplo
O processo de decodificao inicia-se com o
primeiro pedao na entrada
Utiliza-se ento bits sucessivos da entrada
para
determinar se vai para a direita ou para a
esquerda
na rvore de decodificao
Quando se alcana uma folha da rvore um
caractere decodificado, ento coloca-se
aquele
caractere no fluxo de sada
O prximo bit no fluxo de entrada o primeiro
bit do
prximo caractere
Codificao Aritmtica
Patenteado pela IBM
Problema: limite do PF
Codificao Aritmtica
1.0
0.1
0.28
0.244
0.244
0.236
0.2368
0.23 608
0.2332
0.4
0.208
0.2332
15
#
0.16
0.0
0.16
0.208
0.0
A
Codificao Aritmtica
Smbol Probabilidade
4/10
A
B
C
#
3/10
1/10
2/10
Faixa
0.0 <= f < 0.4
0.4 <= f < 0.7
0.7 <= f < 0.8
0.8 <= f < 1.0
Codificao Aritmtica
Codificao
1.0
3.28
0.4
0.236
0.244
0.2368
0.23 608
0.244
0.0
0.0
0.16
0.208
0.2332
BC
0.208
0.16
15
0.2332
Codificao Aritmtica
Decodificao
1.0
0.28
0.4
0.2360.244
0.23 608
0.23608
Smbolo P
A
4/10
B
3/10
C
1/10
#
2/10
0.2368
0.244
0.4
0.2332
0.208
0.16
0.0
0.0
0.16
0.208
0.2332
15
Tamanho
Arq.1
Arq.2
Arq.3
2808
2808
2808
H.
C.A.
80%
25%
15%
93%
47%
39%
Concluso
A escolha entre o cdigo de Huffman e o cdigo
aritmtico no
tem impacto sobre a qualidade final da imagem
O cdigo de Huffman geralmente adotado em
virtude do baixo
custo computacional
Como o valor de cada pixel da imagem original ,
normalmente,
representado por um byte, o processo de compresso,
efetivamente, ocorre quando representamos cada
pixel por uma
quantidade menor de bits
A compresso sem perdas permite a recuperao
total da
imagem original, contudo apresenta baixa taxa de
compresso
se comparada aos mtodos com perdas
Referncias Bibliogrficas
Codificao Huffman. Fundo da Computao Codificao
Huffman. http://www.fundao.pro.br/. Consultado em 15
de Set.
de 2005.
PINHEIRO, Jos Mauricio Santos; Tcnicas de
Compactao e
Compresso. Projeto e Gesto de Redes de
Computadores.
http://www.projetoderedes.com.br/. Consultado na
ITERNET em
14 de Setembro de 2005.
Huffman Coding. DataCompression.info - Huffman
Coding.
http://datacompression.info/. Consultado em 17 de Set.
de 2005.
NETO, Joo Fonseca. Compresso Sem Perdas de
Imagens
Digitais.
http://www.infonet.com.br/users/jfonseca/SEMPERDA
S.HTM.
Consultado em 17 de Out. de 2007.