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: 10.982 ]

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

Instalando o kernel 2.6.37 de maneira fácil no Ubuntu 10.10

Compile e empacote o kernel com processadores ociosos em sua rede utilizando distcc, ccache e kernel-package no Debian

Debian com kernel 2.6.10 - passo a passo

Como compilar o Kernel em qualquer distribuição GNU/Linux

kernel-ck para Arch Linux

  
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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts