O que é JPEG XT?

JPEG XT, padronizado como ISO/IEC 18477, amplia o JPEG básico com maior precisão, HDR, ponto flutuante, codificação sem perdas e codificação de canal alfa. Seus fluxos mantêm uma imagem base para decodificadores JPEG mais antigos.

JPEG base mais caixas de extensão
Resultado HDR, de alta profundidade de bits, sem perdas ou com alfa
Um decodificador legado se limita à imagem base; um decodificador JPEG XT também lê os dados de extensão.

Como o JPEG XT funciona

JPEG XT adiciona camadas ao JPEG legado. Um arquivo contém uma imagem JPEG comum, a camada base, além de dados de extensão que um decodificador XT combina com a base decodificada para reconstruir a imagem mais rica. O codec thorfdbg/libjpeg, que o comitê JPEG lista entre as implementações de JPEG XT, transporta esses dados de extensão como caixas dentro de segmentos de marcadores de aplicação APP11, e a norma JPEG reserva segmentos de aplicação para uso das aplicações, o que permite aos decodificadores existentes ler o arquivo sem entender a extensão. Para conteúdo HDR, a base é uma representação de baixa faixa dinâmica: esse codificador aplica mapeamento de tons à entrada HDR por padrão e, para alguns perfis, aceita uma imagem fornecida separadamente. A norma é dividida em partes. A parte 1 reapresenta o núcleo do JPEG em seu uso comum, a parte 2 codifica imagens HDR com uma codificação legada baseada em texto para seus metadados, a parte 3 define o formato de arquivo baseado em caixas, a parte 6 adiciona amostras inteiras de 9 a 16 bits, a parte 7 adiciona amostras HDR de ponto flutuante, a parte 8 adiciona codificação sem perdas e quase sem perdas, e a parte 9 adiciona canais alfa. Portanto, a compatibilidade precisa ser declarada por parte e, para a parte 7, por perfil, não como uma única indicação de sim ou não.

Informações essenciais

  1. Um arquivo que abre em um visualizador comum comprova apenas que o JPEG base está intacto. Os dados HDR, de maior precisão, sem perdas ou de alfa são transportados em segmentos de marcadores de aplicação (APP11 no codec thorfdbg/libjpeg) que um decodificador legado não interpreta, portanto confirme esses dados com um decodificador para a parte relevante do JPEG XT.
  2. A compatibilidade com JPEG XT não é uma capacidade única. A parte 6 abrange amostras inteiras de 9 a 16 bits, a parte 7 abrange amostras HDR de ponto flutuante, a parte 8 abrange codificação sem perdas e quase sem perdas, e a parte 9 abrange canais alfa, enquanto a parte 1 apenas reapresenta o núcleo do JPEG em seu uso comum. A parte 7 não é a única voltada a HDR: a parte 2 também trata de HDR, com uma codificação legada baseada em texto para seus metadados. Pergunte quais partes e, para a parte 7, qual perfil uma ferramenta lê e grava: a própria lista de software do comitê JPEG inclui um codec em conformidade apenas com o perfil B da parte 7 e outro apenas com a parte 2.
  3. Regravar um arquivo com ferramentas que suportam apenas JPEG pode descartar os dados de extensão sem gerar erro. O jpegtran do libjpeg-turbo, por exemplo, copia apenas marcadores de comentários por padrão e descarta outros metadados; -copy all é necessário para manter todos os marcadores extras. Manter os marcadores não comprova que a extensão ainda pode ser decodificada: thorfdbg/libjpeg armazena uma soma de verificação do fluxo JPEG base ao gravar arquivos JPEG XT e rejeita dados de extensão cujas dimensões diferem da imagem base, portanto compare a saída decodificada em XT antes e depois de qualquer regravação. A decodificação e recodificação por um codec legado parte apenas da imagem base.
  4. JPEG XT não é JPEG XL. JPEG XT (ISO/IEC 18477) mantém o arquivo legível por decodificadores JPEG legados. JPEG XL (ISO/IEC 18181) é um sistema de codificação separado cuja ponte com o JPEG legado é a transcodificação sem perdas de um arquivo JPEG existente para JPEG XL e de volta para um arquivo JPEG idêntico ao original.

Quando o JPEG XT é relevante

O JPEG XT é relevante quando um arquivo precisa abrir em softwares JPEG comuns e também conter dados HDR, com maior profundidade de bits, sem perdas ou de canal alfa para softwares compatíveis com XT. Decodificadores legados mostram apenas a imagem base, por isso os dados adicionais precisam ser verificados com um decodificador que implemente a parte pertinente do padrão.

Fontes

Transforme conhecimento sobre mídia em um pipeline funcional

Conecte uploads, processamento, IA, armazenamento e entrega por meio de uma única API declarativa, com o stack de codificação, o ajuste de escala e as constantes mudanças de formatos gerenciados para você.

Experimente a Transloadit gratuitamente