O tempo passa, a tecnologia evolui, mas alguns problemas continuam os mesmos. É o caso das imagens para a web: cada vez mais elas respondem pelo “peso” dos sites. Para amenizar esta situação, a Mozilla acaba de lançar o mozjpeg, um projeto que visa deixar as imagens JPEG mais leves, mas sem alterar a sua qualidade.

A preocupação com o tamanho das imagens não vem de hoje. Em 2010, o Google lançou o formato WebP justamente para tentar diminuir o impacto do tráfego deste tipo de conteúdo na internet. O WebP é parecido com o JPEG, mas utiliza uma técnica de compressão que pode resultar em imagens até 34% menores que neste último.

O formato cumpre o que promete e é capaz inclusive de suportar animações e fundo transparente, unindo as vantagens do JPEG, do GIF e do PNG, mas esbarra no fator compatibilidade: somente os navegadores Chrome (óbvio) e Opera suportam o WebP nativamente e, em relação aos editores de imagens, a maioria ainda exige plugin para trabalhar com conteúdo do tipo.

A Mozilla não descarta a hipótese de levar o WebP para o Firefox, mas como o JPEG é o padrão de imagem mais popular da internet, seus desenvolvedores acreditam que otimizar a compressão do formato é a iniciativa que trará resultados mais palpáveis.

Perda gradual da qualidade da imagem quando há compressão progressiva da imagem

Perda gradual da qualidade da imagem quando há compressão progressiva da imagem

É exatamente isso que o mozjpeg se propõe a fazer. Em seu comunicado, a Mozilla explica que, após conversas com vários engenheiros de software, a organização chegou à conclusão de que o JPEG ainda não alcançou seu potencial de compressão, mesmo tendo mais de 20 anos de existência. Esta percepção é que serviu de gatilho para o projeto.

Não é nada muito novo, na verdade. O que o mozjpeg faz é implementar um fork do jpgcrush, um script em Perl escrito pelo desenvolvedor Loren Merritt que vem sendo bastante utilizado para comprimir imagens. Este algoritmo verifica qual configuração de codificação progressiva faz a imagem ocupar menos bits de maneira lossless, ou seja, sem perder qualidade.

Nos testes da Mozilla, o jpgcrush conseguiu reduzir imagens PNG em 2% a 6% e, no caso do JPEG, em 10%, o que fez a organização considerá-lo o melhor encoder lossless disponível atualmente. Com o mozjpeg, a expectativa é deixá-lo ainda mais eficiente.

Se você estiver disposto a testá-lo em algum projeto, o mozjpeg 1.0 já está disponível no GitHub. Mais detalhes podem ser encontrados nesta lista de discussão.

Comentários

Envie uma pergunta

Os mais notáveis

Comentários com a maior pontuação

Caparroz

Por isso a capa do seu face fica uma porcaria, está tudo programado pra detonar suas imagens!

Edenilson Caparroz
Por isso a capa do seu face fica uma porcaria, está tudo programado pra detonar suas imagens!
fbanyai
Realmente a qualidade das imagens tratadas não é igual às originais, por isso inclusive fiz questão de reforçar o "não lossless". :) Por outro lado, o elevado nível de compressão e o fato de preservar a transparência das imagens PNG é muito útil em diversas situações. E no fim você precisará colocar na balança se o que deve ser priorizado é a qualidade ou a performance.
EFG
Esse TinyPNG é uma coisa engraçada... Transforma um formato que era para ser lossless em lossy para reduzir o tamanho.... :P Ps.: nos testes que eu fiz no TinyPNG, a perda foi visível. :\
Emerson Alecrim
Corrigido, grato.
qgustavor
o melhor enconder losslessEmerson Alecrim
Estou vendo que o corretor ortográfico corrigiu "encoder" como "esconder". O meu está dando as seguintes opções: encode, encodear, encodeá, encodes e encodei. Bendito Português, não conheço essas palavras!
fbanyai
Dica para compressão de imagens (não lossless): PNG: https://tinypng.com JPG: http://www.jpegmini.com/
Marcelo Madeira
Apenas 10 por cento pode não ser muita coisa para nós, mas para o tráfego mundial é uma economia muito grande.