A compressão de dados reduz o tamanho dos ficheiros. Os ficheiros mais pequenos ocupam menos espaço de armazenamento, são transferidos mais rapidamente em redes e têm um custo de armazenamento mais baixo. A contrapartida é o processamento. Comprimir e descomprimir consome tempo de CPU. O objetivo é poupar mais em armazenamento e largura de banda do que se gasta em processamento. Para a maioria dos casos de utilização, os cálculos são favoráveis.
A compressão apresenta-se de duas formas. A compressão sem perdas preserva cada bit dos dados originais. Os ficheiros ZIP, as imagens PNG e o áudio FLAC utilizam métodos sem perdas. A compressão com perdas descarta a informação que provavelmente não será percebida pelos humanos. As imagens JPEG, o áudio MP3 e o vídeo H. 264 utilizam métodos com perdas. A perda de qualidade é real, mas geralmente impercetível em configurações razoáveis. A escolha depende do caso de utilização. As imagens médicas precisam de compressão sem perdas porque cada pixel importa. Uma foto de marketing pode tolerar a compressão com perdas porque o espectador não notará a diferença. Os algoritmos de compressão exploram padrões. As sequências repetidas, os caracteres comuns e as estruturas previsíveis são codificados de forma mais eficiente. Os dados aleatórios não se comprimem. É por isso que os ficheiros encriptados e os suportes já comprimidos não diminuem ainda mais de tamanho. O algoritmo não encontra nada para explorar. A entropia é o limite.
Tipos de compressão
- Sem perdas — reconstrução exata, ficheiros maiores
- Com perda de dados — reconstrução aproximada, ficheiros mais pequenos
- Streaming — comprime os dados à medida que estes chegam.
- Baseado em dicionário — substitui padrões repetidos por referências.
A compressão é uma questão de equilíbrio. Armazenamento e largura de banda de um lado. Qualidade e poder de processamento do outro. Escolha o equilíbrio que melhor se adapta à tarefa.
Comments
No comments yet. Be the first to share a thought.
Leave a comment