Algoritmo do Google reduz tamanho de imagens JPEG em 35% (e com qualidade melhor)
O Google desenvolveu um algoritmo de compressão que pode reduzir o tamanho dos arquivos JPEG até 35% mais que o método tradicional, sem prejudicar a qualidade da imagem — em alguns casos, o resultado pode ficar até melhor que o obtido atualmente. Chamado de Guetzli, ele foi liberado nesta quinta-feira (16) como um projeto de código aberto.
O JPEG é um formato de imagem bastante flexível: você pode escolher exatamente o nível de compressão ao salvar um arquivo em softwares especializados. A contrapartida é que, quanto menor o tamanho do arquivo, pior será a qualidade: trata-se de uma compressão com perdas, diferente do PNG, por exemplo, que diminui o espaço ocupado pelo arquivo, mas mantém todos os detalhes de cores.
Qual a mágica do Guetzli? Se você gostou de Silicon Valley, provavelmente vai se interessar por isso. Como informa o Google, a compressão de um arquivo JPEG depende de algumas etapas: transformações de espaço de cores (que é um modelo matemático para descrever cores), transformada discreta de cosseno (também adotada em outros formatos, como MP3) e quantização.
O principal culpado pela queda de qualidade no JPEG é o processo de quantização, que basicamente pega uma série de dados desordenados e organiza tudo em dados ordenados, que são mais fáceis de comprimir. Quanto mais agressivo for esse processo, pior será a qualidade do arquivo: detalhes das imagens são eliminados, e gradientes de cores perdem tons.
Mas o Google melhorou o processo com um novo modelo psicovisual que adota um algoritmo de busca e “aproxima a percepção de cor e os mascaramentos visuais de uma forma mais detalhada e minuciosa do que seria possível com simples transformações de cores e transformadas discretas de cosseno”. Segundo os pesquisadores, 75% das pessoas preferiram a compressão do Guetzli em detrimento do libjpeg.
Veja se você concorda com elas (imagens originais à esquerda, libjpeg no centro e Guetzli à direita):
Claro que há um ponto fraco: o Google diz que os algoritmos de busca “levam muito mais tempo para criar imagens comprimidas que os métodos disponíveis atualmente”. Mas os testes mostraram que humanos preferiram, de maneira consistente, o Guetzli ao libjpeg, mesmo quando os arquivos eram do mesmo tamanho ou maiores, por isso, o Google acha que a compressão mais lenta é uma contrapartida que vale a pena.
Eu também acho — ainda mais considerando que as páginas estão cada vez mais cheias de imagens, e estamos acessando cada vez mais a web por meio de conexões móveis, que nem sempre são rápidas. Vamos esperar até que os desenvolvedores adotem o novo algoritmo do Google em seus softwares de compressão. O código-fonte do Guetzli já está disponível no GitHub.