Existem 2 fatores principais que parecem levar a artefatos digitais ao criar imagens JPEG: Alias e Compactação.
Exemplo:
Converter um PNG com caracteres em JPEG ou colocar imagens vetoriais em uma fotografia resultará em pixelização nas bordas. O antialiasing geralmente cria um tipo de desfoque em torno deles, mas se a imagem é compactada com perda , parte dos detalhes também é perdida; portanto, o desfoque e a pixelização podem se tornar menos perceptíveis.
Esta é a coisa certa a fazer? Ou seja, como uma compactação sem perdas gera uma imagem altamente detalhada, os artefatos resultantes do aliasing serão mais perceptíveis; portanto, um equilíbrio pode ser encontrado usando a compactação correta, embora comprometendo a qualidade da imagem.
Editar
Acabei de salvar este JPEG no mspaint (3,46 KB):
Aqui está o mesmo JPEG com compactação máxima (qualidade mais baixa, 0,5 KB):
Aqui está o mesmo JPEG com 50% de compactação (observe a diferença de tamanho, 1,29 KB):
A mesma compactação de 50%, mas salva como "JPG progressivo", manteve os dados EXIF e XMP originais e "tentou salvar com qualidade JPG original" (você pode notar que não existem pixels cinza em torno de 2,96 KB):
E finalmente o mesmo de antes com a subamostragem de croma desativada (mesmo tamanho de arquivo, 2,96 KB):
fonte
mozjpeg
compressor possui um truque especial para produzir menos distorção nesses tipos de imagens. (e é mais eficiente em geral do que os escritores jpeg comuns também.) você tentou?Respostas:
A compactação JPEG envolve três etapas principais:
Subamostragem de croma . A imagem é convertida de RGB para o espaço de cor YCbCr, em que a luminância ou brilho (Y) é armazenada separadamente dos croma componentes ou de cor, Cr e Cb. O componente Y é mantido em resolução total, mas Cb e Cr são redimensionados, geralmente para meia resolução em cada eixo. Isso explora o fato de que o sistema visual humano é mais sensível a pequenos detalhes de brilho do que de cores.
Quantização de frequência. As imagens Y, Cb e Cr são convertidas em uma representação de frequência, dividindo-as em blocos 8x8 e aplicando a transformada discreta de cosseno (uma variante da transformação de Fourier) a cada bloco. O resultado é uma matriz de números que descreve as amplitudes de diferentes frequências espaciais no bloco. Esses números podem ser quantizados (arredondados para um número escolhido de bits de precisão). Diferentes níveis de quantização são usados para diferentes frequências, explorando a sensibilidade relativamente baixa do nosso sistema visual a altas frequências. É aqui que a configuração de qualidade do codificador JPEG entra em jogo: qualidades mais baixas usam quantização mais grossa.
Codificação de entropia . Os valores DCT quantificados são passados através de um codificador de entropia, que comprime sem perdas o fluxo de bits usando menos bits para representar os valores mais comuns, como um arquivo zip.
As etapas 1 e 2 são as com perda e cada uma produz seu próprio tipo de artefato (embora exista alguma sobreposição). A subamostragem de croma tende a desfocar as bordas afiadas entre regiões de cores diferentes. Isso é particularmente visível na arte vetorial, onde formas de cores vivas captam dentinhos cruéis em torno de suas bordas. A quantização de frequência desfoca detalhes finos em geral e também cria artefatos em forma de bloco em configurações de baixa qualidade, porque o DCT é feito bloco a bloco. É particularmente visível no texto.
É por isso que o JPEG geralmente não é usado para imagens que contenham gráficos vetoriais ou texto - seus algoritmos de compactação são pouco adequados para esses casos, embora funcionem bem para fotografias e outras imagens com textura complexa e bordas não muito nítidas.
fonte