Como compactar arquivos

A compactação de arquivos é uma parte essencial de como sua web funciona. Ele nos permite transferir arquivos que, de outra forma, exigiriam tráfego e tempo excessivos de dados. Sempre que você se conecta a arquivos ZIP ou visualiza imagens JPEG, aproveita a compactação de arquivos.

Então você deve estar se perguntando: como funciona a compactação de arquivos? Vamos dar uma olhada neste artigo para ver o que significa compactação de arquivos e como funciona.

O que significa compressão?Simplificando, a compactação de arquivos (ou compactação de dados) é o ato de reduzir o tamanho de um arquivo, mantendo os dados originais. Dessa forma, o arquivo ocupa menos espaço em um dispositivo de armazenamento e também pode ser facilmente transferido pela Internet ou não.

É importante observar que a compactação não é infinita. Embora possa ser feito passo a passo, sempre tem um limite. Enquanto a compactação de um arquivo em um formato de compactação ZIP reduz o tamanho original, você não pode continuar compactando o arquivo para reduzi-lo ainda mais.

Em geral, a compactação de arquivos é dividida em dois tipos principais: com perda (perda) e sem perda (sem perda). Vamos ver como os dois funcionam.

Como compactar arquivos: Compressão por perda

A compactação por perda (ou compactação por perda) reduz o tamanho do arquivo, removendo informações desnecessárias. É mais comum em formatos de imagem, vídeo e áudio, onde a representação perfeita da fonte original não é necessária. Existem muitas formas, ou se você deseja protocolos de compactação para compactação por perda para cada tipo de arquivo (música, imagem ou vídeo). MP3 e JPEG são dois exemplos populares.

Um MP3 não contém todas as informações de áudio da gravação original. Em essência, rejeita e apaga os sons que as pessoas não ouvem. Apaga frequências abaixo de 20Hz e acima de 16000Hz, além de várias harmônicas de áudio.

Você não perceberá que elas estão ausentes, portanto, a exclusão dessas informações resultará em um tamanho de arquivo menor, praticamente sem desvantagens.

Da mesma forma, a compactação JPEG remove partes não vitais das imagens. Por exemplo, em uma foto que contém um céu azul, a compactação JPEG pode alterar todos os pixels do céu em um ou dois tons de azul, em vez de usar dezenas de tons diferentes.

No entanto, para cada tipo de arquivo, há um limite em que a redução da qualidade não é percebida devido à compactação da perda. A partir desse limite, quanto mais você compactar um arquivo, mais perceptível será a queda na qualidade. Você pode ter ouvido arquivos MP3 com muita compressão do YouTube. Por exemplo, compare esta peça musical de alta qualidade:

Com esta versão muito compactada da mesma música:

A compactação por perda é apropriada quando um arquivo contém mais informações do que você precisa para seus propósitos. Por exemplo, digamos que você tenha um arquivo de imagem RAW enorme. Se você quiser imprimir esta imagem em um cartaz grande, precisará manter essa qualidade para imprimi-la ao vivo, em cores claras e sem marcas de pixels. Não faz sentido enviar o arquivo RAW para o Facebook.

A imagem contém muitos dados que não são observados quando vistos em sites de redes sociais. A compactação de imagem JPEG de alta qualidade exclui algumas informações, mas a imagem parece quase a mesma a olho nu.

Veja a comparação de formatos de imagem populares para uma análise mais aprofundada do tópico: Quando uso JPEG, GIF ou PNG

Perda de compressão em uso geralComo mencionamos, a compactação de perdas é amplamente adequada para a maioria das formas de mídia social. Por isso, é vital que empresas como Spotify e Netflix transmitam constantemente enormes quantidades de informações. Reduzir o tamanho do arquivo o máximo possível, mantendo a qualidade, torna sua operação mais eficiente. Você pode imaginar qual espaço de armazenamento seria necessário se cada vídeo do YouTube fosse armazenado e transmitido em seu formato original não compactado?

As grandes empresas dependem muito da compactação de arquivos para poder oferecer seus serviços extensivamente em espaços de armazenamento limitados.

Mas a compactação por perda não funciona tão bem para arquivos em que todas as informações são críticas. Por exemplo, o uso de compactação de perda em um arquivo de texto ou planilha levaria à saída corrompida. Você realmente não pode jogar nada fora sem danificar seriamente o produto final.

Ao armazenar um arquivo com alguma forma de perda, geralmente é possível definir o nível de qualidade. Por exemplo, muitos usam um controle deslizante para selecionar a qualidade de um arquivo JPEG de 0 a 100.

Armazenar algo como 90 ou 80% reduz significativamente o tamanho do arquivo, com uma pequena diferença nos olhos. Mas o armazenamento de baixa qualidade, como 10%, ou o armazenamento repetido do mesmo arquivo com uma pequena perda, acabará por degradá-lo.

Como compactar arquivos: Compactação sem perdasA compactação sem perdas é uma maneira de reduzir o tamanho do arquivo para que você possa reconstruir o arquivo original perfeitamente. Ao contrário da compactação por perda, ele não lança nenhuma informação. Em vez disso, a compactação sem perdas basicamente funciona removendo o excesso de dados.

Vamos dar um exemplo básico para mostrar o que isso significa. Abaixo está uma pilha de 10 tijolos: dois azuis, cinco amarelos e três vermelhos. Essa pilha é uma maneira simples de exibir esses tijolos, mas há outra maneira de fazê-lo.

Em vez de mostrar todos os 10 tijolos, podemos removê-los, exceto um de cada cor. Então, se usarmos números para mostrar quantos tijolos de cada cor havia, representamos exatamente a mesma informação usando muito menos tijolos. Em vez de 10 tijolos, precisamos apenas de três agora.

Esta é uma ilustração simples de como é possível compactar sem perda. Ele armazena as mesmas informações com mais eficiência, removendo o excesso. Considere um arquivo real, onde a seguinte string:

mmmmmuuuuuuoooooooooooo

Pode ser “compactado” da seguinte forma, muito menor:

m5u7o12

Isso nos permite usar sete caracteres em vez de 24 para representar os mesmos dados, o que é uma economia significativa.

Compressão Sem perdas no uso diário

Como mencionado acima, a compactação sem perdas é importante nos casos em que você não pode remover nenhum dos arquivos originais. Se você estiver curioso sobre como os arquivos ZIP funcionam, leia abaixo:

Ao criar um arquivo ZIP com um programa no Windows, você usa a compactação sem perdas. A compactação de arquivos ZIP é uma maneira eficaz de salvar um arquivo e, quando você descompacta o arquivo, todas as informações originais estão lá. Se você usasse a compactação de perda para compactar um arquivo executável, por exemplo, a versão descompactada seria corrompida e inútil.

As formas comuns de compactação sem perdas são PNG para imagens, FLAC para áudio e ZIP em geral para todos os arquivos. A compactação de vídeo sem perdas é rara, pois os resultados ocupam muito espaço.

Quando usar a compactação sem perdas versus compactação sem perdas

Agora que examinamos os dois formatos de compactação de arquivos, você deve estar se perguntando quando usar um e quando usar o outro. Como se vê, não existe uma forma “melhor” de compactação, tudo depende de como você deseja usar seus arquivos.

Em geral, você deve usar a compactação sem perdas quando desejar uma cópia perfeita do material de origem e a compactação quando uma cópia incompleta for boa o suficiente. Vejamos outro exemplo para entender como escolher harmoniosamente qual o melhor caminho.

Digamos que você acabou de aumentar sua coleção de CDs antiga e deseja digitalizá-la para ter todas as suas músicas no computador. Ao copiar seus CDs, faz sentido usar um formato como FLAC, sem perdas. Isso permite que você tenha uma cópia original no seu computador, tão boa quanto o CD original.

Mais tarde, você pode colocar algumas músicas no seu telefone ou em um MP3 player antigo para poder se divertir em qualquer lugar. Você provavelmente não está interessado em que sua música tenha uma qualidade perfeita para isso, então você pode converter arquivos FLAC em MP3. Isso fornece um arquivo de áudio que ainda é perfeitamente compreensível, mas não ocupa muito espaço no seu dispositivo móvel. A qualidade MP3 convertida pelo FLAC será igualmente boa se você estiver criando um arquivo de áudio MP3 compactado diretamente do CD original.

Preocupações ao compactar arquivosComo vimos, converter um arquivo compactado sem perda em uma forma de compactação de perda não tem problema. No entanto, você nunca deve converter um arquivo perdido em um formato de compactação sem perdas. Em geral, você deve ter cuidado ao converter uma forma de compactação em outra.

Converter um arquivo com compactação por perda em uma segunda forma de compactação sem perda é apenas um desperdício de espaço. Lembre-se de que as compressões de perda apagam dados que são impossíveis de recuperar.

Digamos que você tenha um arquivo MP3 de 3 MB. A conversão para FLAC pode levar a um arquivo de 30 MB, mas esses 30 MB contêm os mesmos sons que os arquivos MP3 muito menores. A conversão para um formato sem perdas não “recupera” as informações excluídas pela compactação MP3.

Finalmente, como mencionado acima, converter uma forma de compactação de perda em outra (ou armazená-la repetidamente na mesma forma) degradará ainda mais a qualidade. Toda vez que você aplica a compactação de perda, você perde mais detalhes. Isso se torna cada vez mais perceptível até que o arquivo seja realmente destruído.

Como a compactação funciona? Agora você sabeAnalisamos a compressão com e sem perda e vimos como eles funcionam. Agora você sabe como salvar um arquivo em um tamanho menor que sua forma original e como escolher o melhor método para suas necessidades.

Obviamente, os algoritmos que decidem quais dados serão excluídos nos métodos perdidos e como armazenar melhor o excesso de dados na compactação sem perdas são muito mais complicados do que o que explicamos aqui. Há muito mais que você pode descobrir online se estiver interessado.