¿Qué es un archivo JPC?
Un archivo JPC almacena directamente un flujo codificado JPEG 2000, generalmente sin las cajas de metadatos que proporciona un contenedor JP2. El mismo flujo elemental también se distribuye como .j2c o .j2k. Estas extensiones denominan los mismos datos de imagen JPEG 2000 comprimidos, no tipos de archivo diferentes.
Cómo funcionan los archivos JPC
JPC es otro nombre para un flujo codificado JPEG 2000 independiente, la parte del estándar que contiene los datos de imagen comprimidos, sin las cajas externas de la familia JP2. Su encabezado principal contiene los parámetros que necesita un decodificador para reconstruir las muestras, incluidos el tamaño de la imagen, el número y la precisión de los componentes, el tamaño de los mosaicos, los ajustes de wavelet y cuantización y la organización de los paquetes y las capas de calidad. El estándar trata el formato de archivo JP2 como una envoltura opcional de este flujo, por lo que un flujo codificado puede almacenarse por sí solo o dentro de otro formato de archivo. Lo que el flujo codificado no indica es en qué espacio de color están sus componentes; esa descripción debe quedar implícita en la aplicación o proporcionarse fuera de banda.
Datos clave
.jpc,.j2cy.j2kdenominan lo mismo, un flujo codificado JPEG 2000 sin encapsular, y decodificadores como OpenJPEG dirigen los tres a un único analizador de flujos codificados. La prueba fiable son los primeros cuatro bytes,FF 4F FF 51, mientras que un archivo JP2 comienza con una caja de firma de 12 bytes. El tipo de medio registrado esimage/j2c; su registro incluyej2cyj2kcomo extensiones, pero nojpc.- Un flujo codificado sin encapsular no contiene información sobre el espacio de color. El registro de
image/j2cindica que esta queda implícita o se proporciona fuera de banda, y es la envoltura JP2 la que añade una caja Colour Specification obligatoria. El software al que no se le indica el espacio de color recurre a una suposición:opj_decompressde OpenJPEG, por ejemplo, trata una imagen de tres componentes como sYCC y la convierte a RGB cuando el segundo componente está submuestreado horizontalmente y el primero tiene el mismo muestreo horizontal y vertical, y trata las imágenes de uno o dos componentes como escala de grises. Cuando la precisión del color sea importante, obtén el espacio de color real o el perfil ICC de quien produjo el archivo y proporciónaselo a la aplicación que lo lee. Encapsular el flujo en JP2 no recupera esa información: la caja Colour Specification debe escribirse a partir de ese valor conocido, ya sea como un espacio de color enumerado (sRGB, sYCC o escala de grises) o como un perfil ICC restringido. - Eliminar la envoltura JP2 quita las cajas de firma y de tipo de archivo (File Type), la caja JP2 Header con su información de color y resolución y las cajas opcionales de XML, UUID y propiedad intelectual. No elimina características del encoding: el tamaño del mosaico se registra en el segmento de marcador SIZ, y el número de capas de calidad, el orden de progresión y los ajustes de wavelet, en COD, todos dentro del flujo codificado.
- Un sufijo
.jpcno garantiza un flujo de la parte 1. Un flujo codificado puede usar capacidades de cualquier parte de la familia JPEG 2000, como High Throughput JPEG 2000, y declara lo que necesita un decodificador mediante su campoRsizy su segmento de marcador CAP, así que compruébalos antes de suponer que un decodificador determinado puede leer el archivo.
Cuándo son importantes los archivos JPC
Los sistemas de procesamiento de imágenes deben dirigir los archivos JPC a decodificadores que admitan flujos codificados sin encapsular como entrada. Si un flujo de trabajo depende de información de color, de diseño o de metadatos descriptivos integrados, un archivo JPC sin contenedor puede ser insuficiente.
Cómo ayuda Transloadit con los archivos JPC
La lista de formatos de imagen compatibles de Transloadit incluye JPC, J2C y J2K, cada uno descrito como sintaxis de flujo codificado JPEG-2000 y marcado como legible y escribible para los Robots basados en ImageMagick que abarca la lista, como /image/resize. La misma lista tiene una entrada JP2 independiente para el formato de archivo basado en cajas, y el parámetro format del Robot selecciona el formato de salida.
La disponibilidad de formatos depende de la versión de imagemagick_stack que use un Step, así que confirma la entrada correspondiente a tu stack. La documentación no describe cómo se interpreta el color de una entrada de flujo codificado sin encapsular.
Explora los formatos de archivo y las capacidades de compresión de Transloadit
Fuentes
- Registro de tipo de medio de IANA: image/j2c
- Rec. ITU-T T.800 (06/2019) | ISO/IEC 15444-1: sistema básico de codificación JPEG 2000, anexo A (sintaxis del flujo codificado, tablas A.2 y A.3) y anexo I (formato de archivo JP2, I.2.3 e I.5.3)
- RFC 3745: registros de tipos MIME para JPEG 2000 (ISO/IEC 15444)
- OpenJPEG v2.5.3 opj_decompress.c: correspondencia de extensiones, detección de firmas y espacio de color asumido cuando no se especifica