Algoritmos de compressão

Este artigo faz uma apresentação dos algoritmos de compressão e qual a lógica de funcionamento dos mesmos. É o primeiro de uma série de três artigos que pretendo escrever falando sobre isso, que serão divididos em como começou, o que usamos hoje em dia, e por último a prática com implementação dos mais usados.

[ Hits: 8.571 ]

Por: Pablo Margreff em 23/03/2016 | Blog: https://pmargreff.wordpress.com/


Introdução



Você já pensou na quantidade de dado que é gerada todos os dias? Se já faz essa reflexão, pensou onde e como ficam armazenados estes dados? Você já deve ter visto em algum lugar analises sobre quantos dados são/foram gerados em um determinado tempo. Mas quem liga se a nuvem tem espaço ilimitado, certo? ERROU, claro que na teoria temos armazenamento ilimitado, mas na prática isso é impossível. Porém o armazenamento não é o único ponto crucial para a necessidade de compressão de arquivos, mas também o transporte de todos estes dados, e essas necessidades fez a área se expandir.

A ideia de escrever sobre isso veio em perceber a presença e importância da área junto com a pouca visibilidade recebida pelo tópico (mentira, veio após terminar a primeira temporada de Sillicon Valey, mas admitir isso iria soar meio infantil).

A compressão de dados pode ser feita de duas maneiras, direcionada ou bruta. Exemplos de compressão otimizadas são: arquivos de áudio onde são cortados sons que não diferenciamos, nas imagens, "arredondando" o que não enxergamos e em vídeos mantendo partes de frames que não se alteram. Claro que cada área tem sua compressão específica onde há todo uma demanda de estudo, e por isso não será o foco deste primeiro artigo. O ponto chave aqui será a codificação dos dados de forma bruta.

Boa parte do conteúdo esta [link 1]nesta série[/link 1] de vídeos de autoria da Google. Portanto a maior parte das coisas será uma aprofundamento do que se vê nos vídeos da série (que por sinal são muito recomendados).

O artigo será comprido então para fazer máximo proveito recomendo que tire X minutos para conseguir ler, consultar fontes e fazer um bom aproveitamento.
    Próxima página

Páginas do artigo
   1. Introdução
   2. Códigos de comprimento variável
   3. Árvores de Huffmann
   4. Classe Lempel-Ziv-Welch
   5. Conclusões
Outros artigos deste autor

Manipulação de imagens no formato PPM

Gerando Números Aleatórios

Aumentando sua produtividade com o teclado padrão Dvorak

Leitura recomendada

Kernel v3.x no Debian - Compilação em 7 passos práticos

Compilando o Kernel do OpenBSD 4.3 (GENERIC)

kernel-ck para Arch Linux

Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6.26 no Debian Linux

Debian Linux: Atualizando o kernel 2.6.24 para 2.6.26.3 (versão estável)

  
Comentários
[1] Comentário enviado por ivo_cruz em 29/03/2016 - 08:30h

A saída do Q é 0100


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts