O documento discute técnicas de compressão de dados, incluindo compressão com perdas e sem perdas. Ele explica métodos como supressão de repetições, codificação Huffman e código de Lempel-Ziv. Além disso, apresenta os principais tipos de compressão e alguns dos compactadores mais conhecidos.
O documento discute técnicas de compressão de dados, incluindo compressão com perdas e sem perdas. Ele explica métodos como supressão de repetições, codificação Huffman e código de Lempel-Ziv. Além disso, apresenta os principais tipos de compressão e alguns dos compactadores mais conhecidos.
O documento discute técnicas de compressão de dados, incluindo compressão com perdas e sem perdas. Ele explica métodos como supressão de repetições, codificação Huffman e código de Lempel-Ziv. Além disso, apresenta os principais tipos de compressão e alguns dos compactadores mais conhecidos.
FACULDADES INTEGRADAS DA UNIO EDUCACIONAL DO PLANALTO CENTRAL
Aprovadas pela Portaria SESu/MEC N 368/2008 de 19/05/2008 (DOU 20/05/2008)
Faculdade de Cincia e Tecnologia do Planalto Central FACIPLAC Curso de Sistemas de Informao Reconhecido pela Portaria Ministerial n 290 -MEC de 27/01/2005 DOU de 28/01/05
1.Introduo A compresso de dados ou tcnica de compresso de dados e muito difundida no momento em que vivemos onde a tecnologia j est e um nvel alto, desta forma a compresso de dados e muito utilizada ainda por todos independente com o que trabalhe, simplesmente pelo fato de reunir e um nico arquivo ou local um grande quantidade de arquivos, imagens, documentos. A compresso de dados uma tcnica utilizada para reduzir espao que um dispositivo necessita de ocupar. Isto conseguido atravs de vrios algoritmos de compresso reduzindo a quantidade de Bytes precisa para representar um dado (FERREIRA, Sergio, 2010). Conforme dito a compresso sempre foi utilizada por muitos, contudo as classificaes ou formas de compresso no so conhecida por todos. Desta forma sero os pontos abordados no trabalho a respeito do que seja a Compresso de Dados algumas tcnicas que so utilizadas.
iii
Sumario Compresso de Dados ........................................................................................ i 1.Introduo ........................................................................................................ ii 2. Desenvolvimento ............................................................................................ 4 2.1 Compresso de Dados .......................................................................... 4 2.2 Tipos de Compresso .......................................................................... 4 2.2.1 Compresso com perdas ................................................................... 4 2.2.2 Compresso sem perdas ................................................................... 5 2.2.2.1 Supresso de Repeties ("Run lenght") ........................................ 5 2.2.2.2 Codificao Huffman ....................................................................... 6 2.2.2.3 Cdigo de Lempel-Ziv (LZW) .......................................................... 8 2.2.3 Compresso Simtrica e Assimtrica ................................................. 9 2.2.4 Compresso Adaptativa, no adaptativas ........................................ 10 2.3 Compactadores mais conhecidos ....................................................... 11 3. Concluso .................................................................................................... 13 4.Referncias Bibliogrficas ............................................................................. 14 4
2. Desenvolvimento 2.1 Compresso de Dados Compresso de dados de forma clara e no p da letra significa reduzir, diminuir, ato de comprimir dados afim de reduzir espaos ocupados por algum tipo de arquivo em algum dispositivo qualquer. 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 especfica. Compresso de dados uma forma de codificar um certo conjunto de informaes de maneira que o cdigo gerado seja menor que a fonte, afim de reduzir espao fsico utilizado, agilizao na transmisso de dados. A reduo do espao fsico permite um significativo ganho em termos de ocupao em disco e velocidade de acesso. A compresso aquela realizada sobre dados, a partir dos quais verificada a repetio de caracteres para efetivar a reduo de nmero de elementos de dados(PIVETTA CANTARELLI,Elisa M., 2009). Os Objetivos da Compresso de dados so: Ocupar menos espao, ficando mais barato; A transmisso ser mais rpida; Poder processar os dados de forma mais rpida; reduzir o tempo e espao necessrio para backups. 2.2 Tipos de Compresso 2.2.1 Compresso com perdas A compresso com perdas (Lossy compression), por oposio compresso sem perdas, permite eliminar algumas informaes para ter a melhor taxa de compresso possvel, conservando ao mesmo tempo um resultado que seja o mais prximo possvel dos dados originais. o caso, por exemplo, de certas compresses de imagens ou de sons. Em contrapartida, os dados multimdia (udio, vdeos) podem tolerar um certo nvel de degradao sem que os captores sensoriais (olho, tmpano, etc) distingam uma degradao significativa. Em geral quando digitalizamos 5
informaes que normalmente existem de forma analgica, como fotografias, sons filmes, podemos considerar algumas perdas que no seria percebidas pelo olho ou ouvido humanos.
2.2.2 Compresso sem perdas Na compresso sem perdas (lossless), o arquivo reconstrudo coincide com o arquivo original podendo ser utilizado por computadores, esta tcnica explora estatsticas de dados (redundncia de dados). A Tcnica de compresso de dados sem perdas e dividida em: Tcnicas pontuais - Supresso de Repeties ("Run lenght") Codificao Estatstica - Cdigo de Huffman Codificao por Dicionrio - Cdigo de Lempel-Ziv (LZW) 2.2.2.1 Supresso de Repeties ("Run lenght") Quando temos um arquivo de texto onde ocorre uma repetio contnua de determinando caracter, por exemplo "AAAAAA", possvel sua representao atravs da codificao run-length, da seguinte forma: "AAAAAA" = 12 A, onde A o caracter repetido 6 vezes. Ex: 6
2.2.2.2 Codificao Huffman Esa tcnica de compresso foi criada por D. A. Huffman em 1950, onde no envio de uma mensagem de um dispositivo origem a um dispositivo destino os caracteres da mensagem so enviados um a um modificados atravs de alguma tabela de codificao. Em geral, este cdigo forma um nmero binrio. Um algoritmo de determinao de cdigos binrios para caracteres baseado na frequncia de uso destes caracteres foi sugerida por Huffman, na qual a ideia associar nmeros binrios com menos bits aos caracteres mais usados nos textos. Neste mtodo de compresso, atribudo menos bits a smbolos que aparecem mais frequentemente e mais bits para smbolos que aparecem menos Codificao Huffman um exemplo de tcnica de codificao estatstica, que diz respeito ao usi de um cdigo curto para representar smbolos comuns, e cdigos longos para representar smbolos pouco frequentes. Muito parecido com o cdigo Morse. 7
Ex:
Nesse exemplo e possvel ver claramente como feita a atribuio da frequncia, ser dada pela quantidade de vezes em que a letra aparece na mensagem.
Ento selecionamos os valores menor que tem e os juntamos em uma nova rvore, que far parte da nossa coleo.
8
Continuamos o mesmo processo de somar sempre os menores valores ate chegar a nossa rvore completamente construda.
Com a rvore completamente montada, chegamos ao ponto final onde ser associada 0 s arestas que ligam um vrtice com seu filho esquerdo e 1 s arestas que ligam um vrtice com seu filho direta. O cdigo correspondente cada letra ser formado pelo nmero binrio associado ao caminho da raiz at a folha correspondente. 2.2.2.3 Cdigo de Lempel-Ziv (LZW) Criada em 1977 por Abraham Lempel e Jacob Ziv , a compresso LZW 9
encontrada na compresso de texto e de programas. Os algoritmos de compresso LZ78 so usados na compresso de dados binrios, com os bitmaps. Em 1984, Terry Welch modificou o compressor LZ&* para sua implementao em controladores de discos de elevado desempenho O resultado foi o algoritmo LZW que encontrado e usado nos nossos dias (como o ARJ e o PKZIP/WinZip) O LZW um algoritmo que constri um dicionrio dos dados (normalmente chamado de tabela de traduo) originais. Os padres dos dados so identificados e registrados no dicionrio, se o padro no esta presente no dicionrio, codificado e registrado no mesmo. Este mtodo de compresso de dados sem perdas encontrado em vrios formatos de imagem, como o GIF, TIFF e PDF A codificao LZW basiada na construo de um dicionrio de plavaras (grupos de um ou mais caracteres) a partir do fluxo de entrada. Quando uma nova palavra encontrada, a mquina de compresso adicionada ao dicionrio substitui a frase, se a frase j foi resgistrada, ela substituda pelo valor de posio no dicionrio. Ex: ABACABA
Primeiro caractere da string A, e est na nossa tabela. Analisar o caracter seguinte que o B, junta-se AB que no est na tabela. Neste caso enviamos o cdigo 0 e adicionamos a nova string na tabela fazendo 4=AB Tomamos para prefixo o caracter B, buscando o prximo caracter, obtm-se BA, que no est na tabela, repetindo o anterior, enviar o cdigo 1 e adicionamos nova string na tabela fazendo 5=BA Novo prefixo o A, concatenada com prximo caracter, obtemos a string AC, enviamos 0 e fazemos 6=AC Novo prefixo o C, concatenado com prximo caracter, string CA. Enviamos o cdigo 2, e fazemos 7=CA Novo prefixo o A, concatenado com prximo caracter, string AB, a qual se encontra na tabela, no enviamos nenhum cdigo e tomamos para novo prefixo AB Este prefixo concatenado com prximo caractere forma ABA, que no se encontra na tabela. Enviamos o cdigo 4, e fazemos 8=ABA O novo prefixo passa a ser A e como no tem mais caracter, enviamos o cdigo 0. Desta forma obtemos a seguinte sequncia codificada: 0 1 0 2 4 0.
2.2.3 Compresso Simtrica e Assimtrica Refere-se simetria da complexidade computacional dos algoritmos de compresso e descompresso. Compresso Simtrica: Os algoritmos de compresso e descompresso possuem a mesma complexidade, estando 0=A 1=B 2=C 3=D 10
associado a aproximadamente o mesmo tempo de processamento. Procedimentos simtricos so indicados em aplicao que envolvem a transmisso e apresentao das imagens simultaneamente. Quando a compresso e descompresso so feitas executando-se mtodos ou algoritmos idnticos ou bem semelhantes dizemos que o mtodo de compresso e simtrico. Bons exemplos so os algoritmos de codificao aritmtica, ou o mtodo LZW, baseado em dicionrio. Compresso assimtrica: H um forte balanceamento de tempo de processamento entre a compresso e descompresso. Uma aplicao tpica de compresso assimtrica, com o processo de descompresso mais rpido que o de compresso e aplicao envolvendo um banco de imagens (uma imagem ser armazenada apenas uma vez, porm ser lida vrias vezes). Procedimento de backup tende a privilegiar uma compresso mais rpida em detrimento do tempo necessrio descompresso. Este tipo de mtodo til quando vamos comprimir apenas uma vez, mas descomprimir vrias vezes (musicas em formato MP3 so um bom exemplo disso). Nesse caso temos todo tempo do mundo para comprimir, mas a descompresso tem de ser feita em tempo real. 2.2.4 Compresso Adaptativa, no adaptativas A adaptabilidade refere-se caractersticas do processo/algoritmo de se adaptar aos dados de entrada. possvel identificar segundo esse aspecto as seguintes variaes: Compresso Adaptativa: So aqueles que no se baseiam em dicionrios pr definidos, construindo o dicionrio em funo dos dados de entrada. Mtodos baseados em dicionrios da famlia LZW so naturalmente adaptativos j que invivel que os programas de compresso carreguem dicionrios de dados padronizados, o que os dicionrios seja enviados junto com os arquivos. Compresso No Adaptativa: Em geral, baseiam-se em dicionrios estticos definidos prioridade em funo de estatstica de frequncia de dados. Um dicionrio de codificao/ compresso em essncia um tabela que associa smbolos a cdigos de menor tamanho.Uma compresso de dados que tem base em mtodos rgidos, cujas regras no variam de acordo com os dados, nem a medida que os dados so lidos. 11
Mtodos de aproximao como a codificao de Huffman pode ser tanto adaptativo, inferindo as probabilidades a medida que os dados so lidos, como no adaptativos, usando probabilidades fixas ou determinadas por uma leitura prvia dos dados. 2.3 Compactadores mais conhecidos Principais programas e formatos de arquivos compactados: WINZIP: um dos mais populares programas de compactao utilizados pelos usurio da plataforma Windows. Tem por finalidade compactar arquivos paro o formato .zip (reduzir o tamanho dos memos). Suporta alguns formatos de leitura como .ARC, .ARJ, .ZIP, .ZIPX, .BZ entre outro. Suportando tambm alguns formatos de escrita como o .CAB, .HQX, .UUE entre outros.
Winrar: um software que trabalha com arquivos dos mais diferentes formatos de compresso (ZIP, ARJ, CAB, LZH, ACE, TAR, GZip, UUEcode) e suporta arquivos at 8.589 Bilhoes de Gigabytes. Em portugus interface bastante completa e intuitiva, rapidez na compresso dos dados, integrao bastante completa com o Windows Explorer e Multiplataforma.
BraZip: um software brasileiro de compactao e descompactao que trabalha com as seguintes formatos: Compactao: Zip, Lha, Bh, Cab, Gz, Tar e Jar. Descompactao: Ace, Arc, Arj, Bh, Cab, Gz, Ha, Jar, Lha, Lzh, Pak, Rar, Tar, Z, Zip e Zoo.
7-Zip: um compactador de nvel altssimo de compresso de dados, possui o cdigo fonte aberto. Atualmente o formato 7z,o principal formato de compactao do programa, o que leva maior taxa de compactao, ganhando inclusive do formato RAR (Exceto em arquivos multimdia, onde este ltimo leva vantagem at ausncia de um filtro ainda no implementado no cdigo 7- Zip). 12
Formados de compactao e descompactao: 7z, ZIP, Gzip, Bzip2 e TAR. Formato somente de descompactao: RAR, CAB, ISO, ARJ, LZH, CHM, Z, CPIO, RPM, DEB e NSIS
13
3. Concluso Atravs da presente pesquisa sobre o tema compresso de dados ns observamos que aquilo que o software de compresso executa no e simples da forma como vesmos, pois atravs dele existe um cdigo com regras e tipo de compresso que foram taxadas na presente pesquisa, as quais definem como sero comprimidos os arquivos. Dessa forma levamos um grande conhecimento acerca do assunto compresso de dados. 14