Compressão de Imagens com e sem Perdas¶
Quando comprimimos um ficheiro, fazemos isso porque desejamos torná-lo temporariamente mais pequeno (por exemplo, para enviá-lo por e-mail) ou de forma permanente (como para mostrar imagens pela Internet).
As técnicas de compressão sem perdas servem quando tentamos reduzir temporariamente a informação. Como o nome indica, elas comprimem sem perder informação. No caso do texto, o uso de abreviaturas é um bom exemplo de uma técnica de compressão sem perdas. Toda a gente sabe que “etc.” expande para “etcetera”, o que significa que pode reduzir a metade os 8 caracteres de “etcetera” à versão de quatro caracteres “etc.”.
Dentro dos formatos de imagens, os exemplos dessa compressão incluem por exemplo a cor “indexada”, onde criamos uma lista com as cores disponíveis numa imagem, e depois atribuímos um único número a elas. Depois, quando descrevermos os pixels, só indicamos esse número, pelo que não temos de escrever a definição da cor a toda a hora.
As técnicas de compressão com perdas ocorrem quando tentamos reduzir de forma permanente o tamanho do ficheiro de uma imagem. Isto é necessário para os produtos finais, quando ter um tamanho de ficheiro pequeno é preferível, como é o caso de uma página Web. O facto de a imagem não ser mais editada permite o uso do contexto de um pixel ser tido em conta na compressão, o que significa que podemos basear-nos em truques psicológicos e estatísticos.
Uma das coisas que o JPEG faz, por exemplo, é a sub-amostragem da crominância, isto é, dividir a imagem em tons de cinzento e em duas versões a cores (uma que contém todo o contraste verde-vermelho e a outra a conter o contraste azul-amarelo), o que torna as duas últimas versões mais reduzidas. Isto funciona porque os humanos são muito mais sensíveis à luminosidade do que às diferenças na matiz e saturação.
Outra coisa que faz é usar ondas de co-senos para descrever os contrastes numa imagem. O que isto significa é que o JPEG e outros formatos com perdas que usam isto são muito bons a descrever gradientes, mas não são muito bons a descrever contrastes vincados.
Por outro lado, as técnicas de compressão sem perdas são realmente boas a descrever imagens com poucas cores, mas com contrastes bem definidos, mas não são boas a comprimir imagens com bastantes gradientes.
Outra grande diferença entre as imagens com e sem perdas é que os formatos com perdas degradar-se-ão se as voltar a codificar; isto é, se carregar um JPEG no Krita, editar um pouco, voltar a gravar, editar um pouco, voltar a gravar, cada gravação subsequente irá sempre perder alguns dados. Esta é uma parte fundamental da compressão com perdas, e a principal razão pela qual usamos ficheiros de trabalho.
Veja também
Se estiver interessado nas diferentes técnicas de compressão, a página do Wikipédia sobre a compressão de imagens é bastante boa, mas um pouco técnica demais.