Guetzli - Guetzli

Guetzli
Guetzli logo.svg
Autor (es) original (is) Pesquisa Google
lançamento inicial 15 de março de 2017 ; 3 anos atrás  ( 15-03-2017 )
Versão estável
1.0.1 / 21 de março de 2017 ; 3 anos atrás  ( 21-03-2017 )
Repositório github .com / google / guetzli
Escrito em C ++
Padrão (s) JPEG
Licença Licença Apache

Guetzli é um codificador JPEG licenciado gratuitamente desenvolvido no Google Research Europe em Zurique , na Suíça, por Jyrki Alakujala, Robert Obryk e Zoltán Szabadka . Ele é especializado em qualidade de imagem de ponta, onde se afirma que produz arquivos significativamente menores do que os codificadores anteriores com qualidade equivalente, embora em velocidade muito baixa. Seu nome vem da expressão suíça-alemã para biscoitos , em linha com os nomes de outras tecnologias de compressão do Google.

Propriedades

O Guetzli é conhecido por consumir muitos recursos, exigindo várias ordens de magnitude a mais de tempo de processamento do que outros codificadores JPEG e muita memória . Guetzli suporta apenas o topo da faixa de qualidade JPEG (configurações do quantizador 84–100) e suporta apenas codificação sequencial (não "progressiva"). O desempenho da métrica de qualidade Butteraugli otimiza para quebras abaixo dessa faixa e deixa algumas áreas muito famintas. Guetzli é mais eficaz com arquivos maiores.

Muitas vezes, é colocado em linha com outros bits da tecnologia do Google que são usados ​​para reduzir o tempo de carregamento da página da web, enquanto o próprio Google o descreve também como uma demonstração do potencial das otimizações psicovisuais para motivar pesquisas futuras para beneficiar futuros codificadores JPEG, e reconhece a velocidade frequentemente impraticável de seu código.

Dois testes descobriram que o Guetzli é muito lento (cerca de 4 magnitudes mais lento que o codificador JPEG normal) e não necessariamente melhor que o mozjpeg .

Disponibilidade

Ele é implementado como uma ferramenta de linha de comando em C ++ e o código-fonte publicado no GitHub como software livre sob os termos da versão 2 da licença Apache . Várias distribuições importantes do Linux têm pacotes disponíveis em seus repositórios oficiais. Para Arch Linux, existem repositórios de usuário disponíveis. Há uma versão do macOS empacotada no repositório Homebrew . Existem interfaces gráficas do usuário e binários pré-construídos do Windows disponíveis em outros lugares na Internet. Para desenvolvimento web com node.js, há um pacote Guetzli disponível no Node Package Manager (npm).

A primeira versão pública foi lançada em 21 de outubro de 2016, sem nenhuma otimização de velocidade, e apenas anunciada em um fórum de especialistas. A versão 1.0 veio cinco meses depois, em 15 de março de 2017, acompanhada por um anúncio para um público mais amplo e dois artigos científicos.

Tecnologia

Guetzli usa métodos para otimizar a eficiência de compressão que visam principalmente a etapa de quantização . Ele constrói tabelas de quantização personalizadas para cada arquivo, decide sobre a subamostragem de cores e quantiza alguns coeficientes DCT adjacentes para zero, equilibrando os benefícios na codificação de comprimento de execução dos coeficientes e na preservação da fidelidade da imagem percebida. Zerar os coeficientes corretos é a ferramenta mais eficaz no Guetzli, que é usada como um meio improvisado de quantização adaptativa espacial. As otimizações são guiadas por Butteraugli.

Butteraugli

Butteraugli é uma métrica de avaliação de qualidade de imagem objetiva recém-introduzida. Ele atribui um valor de pontuação média de opinião diferencial (DMOS) à diferença entre uma imagem original e uma versão degradada. É significativamente mais complexo do que as métricas tradicionais como PSNR e SSIM , mas afirma ter um desempenho melhor com qualidade de ponta, onde as degradações não são ou quase não são notadas. Ele modela a percepção de cores e o mascaramento visual no sistema visual humano, levando em consideração que o olho está visualizando cores diferentes com precisão diferente. Ele usa um mapa de calor de mudanças. Como as centenas de parâmetros que modelam as propriedades do sistema visual humano foram derivadas permanece inexplicado. Uma avaliação de desempenho interna com 614 classificações de 23 pessoas em seu próprio conjunto de teste de 31 imagens rendeu 75% de classificações favoráveis ​​aos JPEGs codificados para as pontuações Butteraugli em relação às codificações libjpeg -turbo, que geralmente pontuam mais alto no SSIM e PSNRHVS-M.

Traduzindo para "olho de manteiga", o nome suíço-alemão originalmente significa uma covinha no topo de uma massa doce que foi recheada com manteiga e açúcar antes de assar.

Referências

links externos