Formato JPG (JPEG) — o padrão de compressão de fotos
JPG (JPEG): padronização ITU-T T.81 (1992), compressão com perdas por DCT, por que não há transparência, JPEG progressivo e dicas de qualidade.
O nome JPEG vem do comitê que criou o padrão (Joint Photographic Experts Group), e a extensão mais comum é .jpg. A especificação criada pelo comitê, formado em 1986, foi aprovada em setembro de 1992 como Recomendação ITU-T T.81 e em 1994 como ISO/IEC 10918-1. Mais de 30 anos depois, continua sendo o formato de foto mais aceito por câmeras digitais, smartphones, pela web e por formulários de envio de órgãos públicos.
Como a compressão funciona
- As cores RGB são convertidas em luminância (Y) e crominância (Cb, Cr) e, geralmente, a resolução da crominância é reduzida pela metade (subamostragem de croma).
- A imagem é dividida em blocos de 8×8 pixels e a transformada discreta de cosseno (DCT) calcula os componentes de frequência.
- Cada componente é dividido pelo valor de uma tabela de quantização e arredondado. Quanto menor a qualidade, maiores os divisores e mais detalhes de alta frequência desaparecem. É nesta etapa que ocorre a perda.
- Os valores restantes são comprimidos sem perdas com código de Huffman.
Como descarta primeiro as informações às quais o olho humano é menos sensível, em fotos naturais a diferença quase não aparece mesmo com alta compressão. Já em texto, linhas e bordas de cor sólida surgem borrões ao redor das bordas (ringing) e marcas dos blocos 8×8.
Estrutura do arquivo, JFIF e EXIF
Um arquivo JPG sempre começa com FF D8 (início da imagem) e termina com FF D9 (fim da imagem). Entre eles vêm, em unidades chamadas "marcadores", as tabelas de quantização, as tabelas de Huffman, o tamanho da imagem etc. No início do arquivo normalmente há informações JFIF (marcador APP0) ou EXIF (marcador APP1); câmeras digitais e smartphones usam o EXIF, que guarda os dados da foto e a localização. É por isso que se deve apagar a localização antes de compartilhar fotos (guia de EXIF).
JPEG baseline e JPEG progressivo
A T.81 define tanto o modo baseline, que desenha a imagem de cima para baixo, quanto o modo progressivo, que mostra primeiro a imagem inteira borrada e vai deixando-a mais nítida. Para exibir fotos grandes na web, o modo progressivo melhora a velocidade percebida; quando a compatibilidade com equipamentos antigos ou sistemas de envio é importante, o baseline é mais seguro. O padrão também tem um modo sem perdas, mas ele quase não é usado.
Vantagens e limitações
- Compatibilidade: segundo a MDN, todos os principais navegadores suportam desde o início, e praticamente todo sistema operacional e programa abre JPG.
- Amplo controle: um único valor de qualidade ajusta o tamanho numa faixa ampla. Para fotos, a qualidade entre 70 e 85 é a faixa mais eficiente.
- Sem transparência: não há canal alfa, então não é possível salvar fundo transparente.
- Perda a cada salvamento: cada vez que o arquivo é aberto e salvo, a quantização acontece de novo e a qualidade cai um pouco.
- Limite de 8 bits: é difícil guardar HDR ou gradações amplas, e degradês suaves como céus podem ganhar faixas (banding).
Uso principal
Compartilhar fotos, enviar fotos para inscrições e documentos, anexar em e-mails, mandar para gráficas: é a escolha mais segura quando você não sabe o que o destinatário usa. Para capturas de tela, logos e gráficos, o PNG é mais adequado.
Ao converter para outros formatos
- JPG → PNG: não há perda adicional, mas a informação já perdida não volta e o tamanho costuma ficar várias vezes maior. Converter JPG para PNG só faz sentido se você vai editar muitas vezes ou adicionar áreas transparentes.
- JPG → WebP·AVIF: soma perda sobre perda, mas com qualidade adequada o tamanho cai bastante (JPG para WebP).
- Outros formatos → JPG: as áreas transparentes são preenchidas com uma cor sólida, como branco, e cores de 10 bits ou mais são reduzidas para 8 bits.
- Orientação EXIF: JPGs de smartphone muitas vezes guardam a rotação no EXIF. Se a ferramenta de conversão não aplicar isso, a foto pode aparecer deitada.
Para ajustar o tamanho a um KB-alvo, veja Como funciona a compressão de imagens.
Experimente agora