compressaosemperdas-huffmanearitmetica-110412185030-phpapp01



Comments



Description

Compressão sem PerdaCódigos de Huffman Codificação Aritmética Anderson Zanardo Dias Anselmo Luiz Éden Battisti Darlon Vasata Compressão sem Perda Método de compressão que permite a recuperação exata dos dados originais após o processo de descompressão Exemplos de aplicações que exigem que o processo de compressão e descompressão seja livre de perdas de informação Imagens médicas digitais Transmissão de textos Programas executáveis Banco de Dados . Compressão sem Perda Divididos basicamente em duas categorias Baseados em dicionário ou universal Geram um arquivo comprimido contendo códigos de comprimento fixo. com 12 a 16 bits Não necessitam do conhecimento da freqüência com que os símbolos fonte ocorrem na informação original Métodos estatísticos Códigos de comprimentos variáveis Os dados na informação original que aparecem com maior freqüência são representados por palavrascódigo menores . normalmente. uma codificação para cada caractere é encontrada seguindo a árvore da raiz para o caractere folha .Códigos de Huffman O algoritmo de usa uma tabela de freqüência de ocorrências para cada símbolo A codificação para cada caractere deve ter um prefixo único É necessário atribuir uma string de tamanho variável para cada caractere Se os dados forem arranjados em uma árvore binária. Huffman .Exemplo Comprimr a seqüência de caracteres AAAAAABBBBBCCCCDDDEEF A menor codificação que pode ser utilizada para representá-la em binário é de três bits por caractere Caractere Código A 000 B 001 C 010 D 011 E 100 F 101 . Exemplo Gera-se assim os bits 000000000000000000001001001001001010010010 010011011011100100101 para representar a seqüência original Isso dá 63 bits de comprimento Para usar o código Huffman e comprimir esta seqüência. é necessário primeiro montar uma árvore de Huffman com base na freqüência de ocorrência de cada caractere .Huffman . Exemplo Freqüência Caractere Código A 6 B 5 C 4 D 3 E 2 F 1 .Huffman . Exemplo Árvore .Huffman . Huffman . gera-se a tabela Caractere Código A 00 B 10 C 11 D 010 E 0110 F 0111 .Exemplo A partir da árvore. identifica-se os códigos para cada símbolo Para isto basta percorrer a árvore até o símbolo desejado e "anotar" o bit correspondente às arestas percorridas Assim. e conseqüentemente com símbolos mais curtos.Exemplo Codificando a seqüência original tem-se: 000000000000101010101011111111010010010011001100111.Huffman . ou cerca de 20% Em casos reais a compressão obtida pode ser bem maior pois a freqüência de alguns símbolos é bastante grande enquanto a de outros é quase nula Caracteres mais freqüentes. são melhor representados. totalizando 51 bits Compressão de 12 bits. aumentando bastante a taxa de compressão . Exemplo O processo de decodificação inicia-se com o primeiro pedaço na entrada Utiliza-se então bits sucessivos da entrada para determinar se vai para a direita ou para a esquerda na árvore de decodificação Quando se alcança uma folha da árvore um caractere é decodificado. então coloca-se aquele caractere no fluxo de saída O próximo bit no fluxo de entrada é o primeiro bit do próximo caractere .Huffman . Codificação Aritmética Patenteado pela IBM Codifica utilizando um número real Número entre 0 e 1 Conjunto de probabilidades Problema: precisão extrema Problema: limite do PF . Codificação Aritmética . 4 0.7 0.8 1.Codificação Aritmética Símbol o A B C # Probabilidade 4/10 3/10 1/10 2/10 0.8 Faixa <= <= <= <= f f f f < < < < 0.4 0.0 0.7 0.0 Esta tabela deve ser armazenada . Codificação Aritmética Codificação Símbolo Menor A B B C # Maior 0.16 0.28 0.244 0.23608 0.0 1.2368 0.2368 .0 0.4 0.208 0.2332 0.0 0. Codificação Aritmética Decodificação 0.23608 Símbolo P A 4/10 3/10 B 1/10 C 2/10 # . 80% 25% 15% C.2: A legeira raposa marrom ataca o cão preguiçoso Arq.2 Arq.1: Letras 'A' Arq. 93% 47% 39% Arq.1 Arq.3: Texto comum .3 Tamanho 2808 2808 2808 H.A.Comparação entre métodos Arquivo Arq. o processo de compressão. efetivamente. ocorre quando representamos cada pixel por uma quantidade menor de bits A compressão sem perdas permite a recuperação total da imagem original. representado por um byte. contudo apresenta baixa taxa de compressão se comparada aos métodos com perdas . normalmente.Conclusão A escolha entre o código de Huffman e o código aritmético não tem impacto sobre a qualidade final da imagem O código de Huffman é geralmente adotado em virtude do baixo custo computacional Como o valor de cada pixel da imagem original é. br/.br/users/jfonseca/SEMPERDAS. João Fonseca. NETO. Consultado na ITERNET em 14 de Setembro de 2005.infonet.Referências Bibliográficas Codificação Huffman.HTM. Compressão Sem Perdas de Imagens Digitais. http://www. http://datacompression.com. Consultado em 15 de Set.Codificação Huffman.fundao.com. . http://www.info . http://www.projetoderedes. José Mauricio Santos.info/. Projeto e Gestão de Redes de Computadores. de 2005. Consultado em 17 de Out. de 2007. de 2005. DataCompression.br/.pro.Huffman Coding. PINHEIRO. Consultado em 17 de Set. Fundão da Computação . Huffman Coding. Técnicas de Compactação e Compressão.
Copyright © 2024 DOKUMEN.SITE Inc.