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.

Um ou mais fluxos codificados
Imagem estática ou animação renderizada
Quando um arquivo JPX contém instruções de composição, são elas, e não um fluxo codificado isolado, que definem o que ele exibe.

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

  1. 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.
  2. 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_decompress decodificava 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.
  3. A caixa File Type de um arquivo JPX declara se um leitor mais simples pode exibi-lo. O identificador de formato é jpx seguido de um espaço; jp2 seguido de um espaço na lista de compatibilidade significa que um leitor JP2 pode abrir o arquivo, e jpxb significa 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 arquivo jpxb deve 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.
  4. 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

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