A compressão de dados é o ato de reduzir o espaço ocupado por dados num determinado dispositivo. Essa operação é realizada através de diversos algoritmos de compressão, reduzindo a quantidade de Bytes para representar um dado, sendo esse dado uma imagem, um texto, ou um arquivo (ficheiro) qualquer.
Comprimir dados destina-se também a retirar a redundância, baseando-se que muitos dados contêm informações redundantes que podem ou precisam ser eliminadas de alguma forma. Essa forma é através de uma regra, chamada de código ou protocolo, que, quando seguida, elimina os bits redundantes de informações, de modo a diminuir seu tamanho nos ficheiros. Por exemplo, a sequência "AAAAAA" que ocupa 6 bytes, poderia ser representada pela sequência "6A", que ocupa 2 bytes, economizando 67% de espaço.
Além da eliminação da redundância, os dados são comprimidos pelos mais diversos motivos. Entre os mais conhecidos estão economizar espaço em dispositivos de armazenamento, como discos rígidos, ou ganhar desempenho (diminuir tempo) em transmissões.
Embora possam parecer sinônimos, compressão e compactação de dados são processos distintos. A compressão, como visto, reduz a quantidade de bits para representar algum dado, enquanto a compactação tem a função de unir dados que não estejam unidos. Um exemplo clássico de compactação de dados é a desfragmentação de discos.
2. VANTAGENS
A vantagem dos métodos de compressão com perda de dados sobre os sem perda de dados é que normalmente consegue-se um ficheiro comprimido de menor dimensão, mantendo, no entanto, uma qualidade mínima em relação ao original, conforme o objectivo que se pretende.
A compressão com perda de dados é normalmente usada em som, imagens e vídeo/animação. A razão de compressão (ou seja, a dimensão do ficheiro comprimido comparado com o original, ou por comprimir) dos codecs de vídeo é quase sempre superior às obtidas em som e imagens fixas. O som pode ser comprimido a uma razão de 10:1 (o ficheiro comprimido ocupa 1 décimo do original), sem perda muito notável de qualidade, como ocorre com o formato de som em MP3 ou WMA (windows media audio), com taxas de até 320 Kbps de áudio (um CD contém dados de áudio a 1411,2 Kbps). Já o vídeo pode ser comprimido a uma razão 300:1. As imagens fixas são normalmente comprimidas a uma razão de 10:1, tal como no som, mas neste caso a qualidade é bastante afetada, optando-se normalmente por uma razão menor, 2:1, por exemplo.
Quando um utilizador recebe um ficheiro comprimido com perda de dados, (por exemplo, para reduzir o tempo de download), esse ficheiro posteriormente descomprimido pode ser bem diferente do original ao nível do bit e, no entanto, ser quase idêntico numa observação normal para o olho ou ouvido humano. Muitos métodos /algoritmos de compressão recorrem a limitações da anatomia humana tomando em conta, por exemplo, que o olho humano apenas pode visionar certas freqüências da luz. O modelo psicoacústico descreve como o som pode ser muito comprimido sem que se perceba a degradação da qualidade do sinal sonoro. Os erros/falhas, causados pela compressão com perda de dados, que sejam perceptíveis para o olho ou ouvido humano são conhecidos por artefactos de compressão.
3. TIPOS DE COMPRESSÃO
Compressão com perdas:
- Definido como operação que admite alguma perda de qualidade dos dados
- A informação é comprimida por algum algoritmo e, ao descomprimir, a informação é diferente da original, mas suficientemente parecida para que seja útil
- Exemplo típico: a maioria das imagens .jpg na internet em que se percebe uma diminuição da qualidade próximo às bordas ou trocas de cor na imagem
- Dependendo do algoritmo aplicado, essa compressão sofre de perda constante
- Perdem-se dados sucessivamente, à medida em que se aplica o algoritmo várias vezes, ao comprimir e descomprimir. Isso resulta numa maior perda de dados do que a aplicação do algoritmo de uma só vez
- Existem dois esquemas básicos de compressão:
- Métodos de Transformação
- Métodos Preditivos
- Em alguns sistemas, as duas técnicas são combinadas.
Compressão sem perdas:
- Definido como uma operação sem perdas de nenhum dado
- A informação é comprimida por algum algoritmo e, ao descomprimir, todas as informações são recuperadas
- Exemplo típico: ficheiros bzip, gzip, .gz
- Os mais conhecidos são o .zip ou .rar.
- Ele é usado quando é importante que a informação original e a descompactada sejam idênticas
- Ex.: executáveis e documentos texto
- E com relação às imagens?
- Alguns formatos usam apenas esse tipo. Ex. PNG e GIF*
- Outros formatos usam ambos. Ex.: TIFF e MNG
- Outros formatos usam algoritmos com perdas. Ex.: .bmp, .jpeg
- Antes de se utilizar a técnicas de compressão, é necessário saber qual o tipo de informação que será compactada.
- Imagens
- Sons
- Algoritmos de compactação de textos não são eficientes na compactação de sons.
- Existem basicamente dois tipos de algoritmos de de compressão sem perda de dados :
- Transformação de Burrows-Wheeler
- LZ77
- LZW
- Codificação Aritmética ou Freqüência de Caracteres
- Codificação de Huffman
- Existem algoritmos que são mesclas dos dois tipos de algoritmos. Ex.: o algoritmo DEFLATE utiliza uma combinação do algoritmo LZ77 e de Huffman.
4. SOFTWARES
5. ESTUDO DO CASO: .ZIP
ZIP é um formato de compactação de arquivos muito difundido pela Internet. Atualmente o formato já tem compatibilidade nativa com vários sistemas operacionais, como o Windows da Microsoft, que já permite compactar e descompactar arquivos no formato ZIP sem o uso de softwares adicionais (externos) instalados.
6. ESTUDO DO CASO DE COMPRESSÃO DE IMAGENS: .JPG
O formato JPEG, cuja sigla significa Joint Pictures Expert Group, teve sua primeira especificação disponibilizada em 1983 por um grupo que leva o mesmo nome. É um dos padrões mais populares da internet por aliar duas características importantes: oferece níveis razoáveis de qualidade de imagem e gera arquivos de tamanho pequeno quando comparado a outros formatos, facilitando o seu armazenamento e a sua distribuição.
O JPEG possibilita isso porque é um formato que utiliza compressão de imagens. Mas, o que é isso? Em poucas palavras, compressão consiste na eliminação de dados redundantes nos arquivos. No caso de imagens, é possível fazer a compressão de forma que a retirada de informações não prejudique a qualidade (lossless - sem perda), assim como é possível utilizar níveis maiores de compressão que causam perdas visíveis (lossy - com perda).
Este último é o que acontece no JPEG: neste formato, quanto maior o nível de compressão, menor será o tamanho do arquivo, porém pior será a qualidade da imagem. O nível de compressão pode ser determinado em programas de tratamentos de imagens. Cada vez que uma mesma imagem JPEG é salva, costuma-se perder qualidade, já que, geralmente, o software utilizado para tratá-la aplica compressão, mesmo que mínima, toda vez que esta ação é realizada.
JPEG com menor taxa de compressão
A mesma imagem, mas com maior compressão
O JPEG é capaz de trabalhar com quase 16,8 milhões de cores (24 bits). Essa característica, aliada à capacidade de compressão que reduz o tamanho dos arquivos, faz do formato uma excelente opção para a distribuição de imagens fotográficas, tanto que o formato é muito utilizado para a geração de imagens em câmeras digitais. Isso porque, mesmo havendo perda de qualidade, esta ocorre de maneira pouco ou nada perceptiva, desde que, é claro, não haja "abuso" do uso de compressão nem salvamentos frequentes. No caso de atividades profissionais, é recomendável o uso de formatos que preservam a qualidade.
Arquivos em JPEG geralmente são utilizados com as extensões .jpg (mais frequente) e .jpeg, podendo haver outras de acordo com os algoritmos utilizados.