Meio Bit » Arquivo » Ciência » Google apresenta algoritmo otimizador de JPEGs direto de Hogwarts

Google apresenta algoritmo otimizador de JPEGs direto de Hogwarts

O pessoal do Google Research desenvolveu um algoritmo de otimização de JPEGs que consegue uma taxa de compressão além do normal, sem perda visível de qualidade. Nós testamos e — spoiler alert — realmente funciona, mas há um enorme porém…

7 anos atrás

bzzzzzzzzzzzzzzzzzz

Nos primórdios da computação não existiam imagens compactadas, até por questão de velocidade: os bitmaps eram tratados de forma contínua, o que é ótimo pois gera arquivos sem perda de qualidade, mas péssimo pois gera arquivos monstruosos. Sem compressão não existiria vídeo na internet, ou mesmo em DVDs. E nossas imagens seriam gigantescas.

Esse JPEG da Mione por exemplo tem 25,5 kB, descompactado no Photoshop ocupa 641,7 kB.

Há dezenas, centenas de algoritmos de compressão diferentes, e não vou ter a pretensão de fingir que entendo a matemática por trás da maioria deles, mas em essência o que todos os algoritmos com perda fazem é eliminar informação desnecessária, apostando na incapacidade humana de identificar detalhes.

Vamos a um exemplo: esta foto abaixo escolhida ao acaso aleatoriamente por um algoritmo de busca cega, descompactada, 1,67 MB. Compactada, 125 kB:

random1

Recomprimindo em JPEG com a qualidade no mínimo, passa a ocupar 68,7 kB:

random2

Em um celular, são idênticas. Se você ampliar e estudar a diferença, ela é brutal, a imagem foi simplificada, bastante informação foi perdida.

random

Como de longe não percebemos? Simples, nossos olhos são uma bela porcaria, uma gambiarra evolutiva que se os criacionistas estão certos Deus quando os criou deu o serviço pro estagiário, que na época era Castiel o Anjo-faz-merdinha de Supernatural. Quer um exemplo? Rola um bacalhau via software pra compensar o CENTRO do olho ser cego, é onde entra o nervo óptico e os vasos sanguíneos.

As técnicas de compressão aproveitam nossas limitações para remover elementos que não farão diferença. E aí entra o Guetzli, um algoritmo desenvolvido pelo Google que faz uma otimização muito mais eficiente do modelo psicovisual da imagem. Com isso ele trabalha melhor as cores e por meio de altas macumbarias, entrega pro algoritmo final de compressão dados bem mais limpos, produzindo arquivos menores que um JPEG normal, mas com muito menos perda.

A beleza do Guetzli é que ele não mexe no FORMATO do JPEG, então ele é transparente para todos os programas que abrem esses arquivos.
[box type="info"] PARA SABER MAIS

Artigo no blog da Google Research detalhando o algoritmo.
[/box]

Diz o Google que o algoritmo consegue até 35% de compressão extra, sem afetar a qualidade visual. Quando você lida com centenas de quiloquads de imagens, 35% é um número mágico. Mas… será que é mesmo?

Como o algoritmo é Open Source, baixei para experimentar. Usando meu algoritmo proprietário de busca de imagens aleatórias, cheguei a esta, 1.181 × 1.181 pixels, 293 kB de tamanho.

lv2

Otimizada ela rendeu um arquivo de… 258 kB. Humm. De 293 para 258? Não muito promissor. Será que talvez uma imagem maior, paradoxalmente produza uma compressão melhor?

Vamos testar com outra imagem randômica, das grandes.

lvsmall

No original essa imagem tem 2.731 × 4.096 pixels, 7,9 MB de tamanho. O fundo é todo um degradê, o Nêmesis dos JPEGs. Quanto será que o algoritmo conseguirá reduzir, sem perda perceptível de qualidade?

2,76 MB. Isso mesmo, o algoritmo mágico do Google reduziu um JPEG gigante de quase 8 MB para menos de 3 MB, e ele continua abrindo em qualquer programa compatível com o formato.

PORÉM NEM TUDO SÃO FLORES

Sempre tem um porém. O software em si não está otimizado, então o processamento demora. Em meu Phenom™ II X4 965 Processor, 3.400 MHz, 4 núcleo(s), 4 processador(es) lógico(s), 16 GB de RAM e SSD, o primeiro arquivo levou 3 minutos para ser processado. O segundo, 45 minutos. Isso mesmo. Dava tempo de a Alemanha fazer 5 gols no Brasil.

fotos

Portanto, não saia todo feliz pensando em comprimir seu acervo de fotos. Espere até que programadores cascudos estudem o algoritmo e o otimizem. Por enquanto ele não passa de grafeno digital. Só funciona em laboratório.

Fonte: Engadget.

Leia mais sobre: , .

relacionados


Comentários