O que é um arquivo JPX?
Um arquivo JPX é um contêiner estendido da parte 2 do JPEG 2000 que pode conter vários fluxos codificados, camadas, instruções de composição, metadados e informações avançadas de cor. O mesmo formato também circula com a extensão .jpf. Ele amplia o formato JP2, que é mais simples.
Como os arquivos JPX funcionam
JPX é o formato de arquivo definido no anexo M da parte 2 do JPEG 2000 como uma extensão do JP2, construído a partir da mesma estrutura de caixas. No caso mais simples, ele encapsula um fluxo codificado, assim como o JP2, com uma variedade maior de especificações de cor. Além disso, um arquivo pode armazenar várias imagens no estilo JP2, chamadas de camadas de composição, e uma camada pode obter seus canais de mais de um fluxo codificado, por exemplo, a cor de um e a opacidade de outro. As instruções de composição então recortam, posicionam e dimensionam as camadas dentro de uma área de renderização cuja largura e altura definem o resultado renderizado, seja uma composição estática ou uma animação. JPX também permite dividir um fluxo codificado em fragmentos, incluindo fragmentos em outros arquivos, e interpretar amostras como valores de ponto fixo ou ponto flutuante. Como um leitor não é obrigado a implementar todos os recursos, o arquivo declara o que é necessário para exibi-lo em uma caixa Reader Requirements e nos códigos de compatibilidade da caixa File Type. Seu tipo de mídia registrado é image/jpx. Um pipeline de entrega deve achatar apresentações avançadas apenas quando o destino não puder interpretá-las e manter a estrutura original como o recurso de referência.
Informações essenciais
- Quando um arquivo JPX contém dados de composição em uma caixa Composition (
comp), a imagem exibida é definida por esses dados, e não por um fluxo codificado isolado: eles definem a largura e a altura da área de renderização, e cada instrução pode recortar uma camada de composição e colocá-la em uma posição e um tamanho determinados. Assim, as dimensões lidas do primeiro fluxo codificado podem diferir do resultado renderizado. - Um decodificador pode abrir um arquivo JPX e retornar apenas parte dele. Acessar os fluxos codificados posteriores ou o resultado composto exige um decodificador que implemente esses recursos da parte 2; leitores JP2 e do perfil básico JPX não são obrigados a implementá-los. Uma issue do OpenJPEG aberta em 2014 relata que
opj_decompressdecodificava a primeira imagem de um arquivo JPX sem permitir acesso aos outros 95 fluxos codificados; uma pessoa responsável pela manutenção respondeu que a biblioteca visava oferecer suporte completo à parte 1, com apenas algumas extensões da parte 2. Verifique como seu decodificador lida com arquivos que contêm vários fluxos codificados. - A caixa File Type de um arquivo JPX declara se um leitor mais simples pode exibi-lo. O identificador de formato é
jpxseguido de um espaço;jp2seguido de um espaço na lista de compatibilidade significa que um leitor JP2 pode abrir o arquivo, ejpxbsignifica que um leitor do perfil básico JPX pode abri-lo. Um leitor do perfil básico renderiza apenas a primeira camada de composição, que em um arquivojpxbdeve ser um único fluxo codificado que represente o resultado renderizado. A especificação chama essas representações de alternativas e diz que elas podem não gerar a saída exata desejada; a caixa Reader Requirements (rreq) informa o que é necessário para exibir o arquivo como seu software de gravação pretendia. Teste os recursos da parte 2 dos quais você depende após cada etapa de processamento. - JPX é necessário quando o modelo de imagem do JP2 é limitado demais. JP2 especifica cores apenas por meio de espaços de cor enumerados ou perfis ICC restritos; JPX acrescenta outros espaços enumerados, qualquer perfil ICC de entrada, cores definidas pelo fornecedor, opacidade mantida em um fluxo codificado separado ou como uma chave de cor e amostras de ponto fixo ou ponto flutuante. O exemplo da própria especificação de conteúdo que um leitor JP2 em conformidade com o padrão não interpretará corretamente é uma imagem CMYK.
Quando os arquivos JPX são relevantes
Use JPX quando um arquivo JP2 básico não puder representar as camadas, composições ou informações de cor necessárias. Softwares limitados a JP2 podem rejeitar o arquivo ou decodificar apenas parte da apresentação pretendida.
Fontes
- ITU-T T.801 | ISO/IEC 15444-2: extensões do JPEG 2000 (anexo M, formato de arquivo estendido JPX; o texto em vigor de 08/2023 é vendido, não gratuito)
- ITU-T T.801 (06/2021), edição substituída com PDF gratuito: cláusulas M.5.3, M.6 e M.9 do anexo M
- Comitê JPEG: visão geral do JPEG 2000 (parte 2 e o formato de arquivo JPX)
- RFC 3745: registros de tipos MIME para JPEG 2000 (image/jpx)
- Library of Congress: formato de arquivo jpf (jpx) da parte 2 do JPEG 2000 (extensões)
- Issue 464 do OpenJPEG: suporte à decodificação de arquivos JPX