¿Cómo identifica el tipo de archivo/compresión en un archivo TIFF?

Por lo que entiendo, TIFF es como el contenedor .mkv para fotografía: admite una variedad de formatos comprimidos y sin comprimir.

Pero, ¿cómo haría para verificar si los datos dentro del archivo TIFF están sin comprimir? Me preocupa que solo pueda contener una foto con pérdida.

Incluso si el tiff que tiene actualmente no está comprimido, eso no significa que los datos nunca se comprimieron :(
Sí, estaba a punto de preguntar esto. ¿Hay alguna forma de saber la compresión subyacente?
Si los datos solo se comprimieron sin pérdidas (LZW, Deflate), no hay forma de conocer su historial de compresión. Si los datos se comprimieron con métodos con pérdida, como JPEG, podría buscar artefactos de compresión . Para JPEG, estos se ubicarían a lo largo de límites de bloque de 8x8 o 16x16. También puede haber signos de pérdida de información de color.

Respuestas (4)

TIFF es un formato contenedor. Algunos otros formatos, como DNG, se basan en contenedores TIFF.

Puede utilizar exiftoolpara determinar si un archivo TIF contiene datos comprimidos.

usr@hst:/tmp$ exiftool -compression test1.tif 
Compression                     : Uncompressed
usr@hst:/tmp$ exiftool -compression test2.tif 
Compression                     : JPEG

¿Se usa esto para indicar la compresión actual del archivo .tif o la compresión de los datos en el archivo .tif? – Elie

Los TIFF son contenedores. A menos que los coloque en otro contenedor (zip), ellos mismos no están comprimidos. Son los datos (de imagen) contenidos dentro de ellos los que se comprimen. Coloquialmente, cuando la gente dice que un tipo de archivo está comprimido (jpg), quiere decir que los datos dentro del archivo están comprimidos.

Incluso si el tiff que tiene actualmente no está comprimido, eso no significa que los datos nunca se comprimieron :( – Peter Green

¿Hay alguna forma de saber la compresión subyacente? – Elie

Si los datos solo se comprimieron sin pérdidas (LZW, Deflate), no hay forma de conocer su historial de compresión. Si los datos se comprimieron con métodos con pérdida, como JPEG, podría buscar artefactos de compresión . Para JPEG, estos se ubicarían a lo largo de límites de bloque de 8x8 o 16x16. También puede haber signos de pérdida de información de color. La utilidad jpegjudge se puede utilizar para evaluar la calidad de las imágenes guardadas como JPEG.

¿Se usa esto para indicar la compresión actual del archivo .tif o la compresión de los datos en el archivo .tif?
Los TIFF son contenedores. A menos que los coloque en otro contenedor (zip), ellos mismos no están comprimidos. Son los datos (de imagen) contenidos dentro de ellos los que se comprimen. Coloquialmente, cuando la gente dice que un tipo de archivo está comprimido (jpg), quiere decir que los datos dentro del archivo están comprimidos.

Si está utilizando un sistema similar a Linux o Unix (incluido MacOS), puede usar el filecomando que viene integrado en la mayoría de las distribuciones de Linux/Unix. En una terminal:

scottbb@mbp ~/Downloads $ file CCITT_1.TIF
CCITT_1.TIF: TIFF image data, little-endian, direntries=17, height=2376, bps=1,
compression=bi-level group 4, PhotometricIntepretation=WhiteIsZero,
name=Standard Input, description=converted PBM file, orientation=upper-left, width=1728

El filecomando es una utilidad de navaja suiza que le brindará todo tipo de información sobre casi cualquier archivo que le arroje.

Si tiene Photoshop, es fácil identificar el tipo de compresión de archivos, si corresponde. Solo la compresión JPEG, que solo está disponible en archivos tif de 8 bits, provoca el deterioro de la imagen.

Abra el archivo tif en Photoshop y luego seleccione guardar como (aunque en realidad no lo guardará). Verá este cuadro de diálogo.

Diálogo inicial

Ahora selecciona guardar. Esto no guardará sino que abrirá otro cuadro de diálogo.

Segundo diálogo

Todas las configuraciones que se muestran son como se almacena la imagen tif original. Puede cambiarlos aquí, pero el propósito es determinar el formato de la imagen original.

Lo único preocupante es si la imagen está en jpeg. Esto también significa que la imagen es de 8 bits. Cualquier otra compresión no tiene pérdidas y no puede ocurrir degradación de la imagen.

Esto es lo que se mostrará para los archivos tif comprimidos jpeg:

compresión jpeg de 8 bits

Ahora cancela. No desea guardarlo accidentalmente, solo examine sus atributos.

Pero, ¿cómo haría para verificar si el archivo TIFF está descomprimido?

Una prueba rápida.

Abra su foto y vuelva a guardarla como TIF con otro nombre, sin compresión. Compare el peso del archivo.

El tamaño de archivo de una imagen sin comprimir será aproximadamente el mismo.

Me preocupa que solo sea un contenedor sin pérdidas para una foto con pérdidas.

Es un caso muy particular. No se trata de compresión, como su primera consulta, se trata de compresión con pérdida.

Realice algunas pruebas adicionales con diferentes métodos de compresión. LZW o ZIP (ambos sin pérdidas)

Si el tamaño del archivo es mucho más pequeño que esos, probablemente se guardó con compresión JPG, por lo tanto, con pérdida.

Pero la única prueba exacta que puede hacer es tomar la foto original, superponerla usando "diferencia" como modo de fusión, aplanarla y ver el histograma. https://otake.com.mx/Apuntes/Imagen/PruebasDeCompresion/1-CompresionJpgProceso.phtm

Pero tenga en cuenta que existe una gran posibilidad de que la foto original se haya guardado como JPG desde el principio.


Y sí, el formato TIF es muy específico. No lo recomendaría para fotógrafos normales. Solo lo recomendaría para casos puntuales:

  1. Cuando necesita una imagen de 16 bits por canal y no puede enviar un archivo PSD.

  2. Cuando está guardando una imagen CMYK, no quiere usar JPG y no puede enviar un archivo PSD.

  3. Algún archivo extraño, como un archivo multicanal, CMYK y transparencia, etc... y no puedes enviar un archivo PSD.

Y eso es probablemente todo.

Tanto la compresión Zip como la LZW no tienen pérdidas y estas son las compresiones más comunes utilizadas en archivos tiff. Photoshop solo ofrece estos tipos de compresión sin pérdidas al guardar archivos tiff. Esas aplicaciones de archivos tiff que ofrecen compresión jpeg tienen pérdidas.
@xiota, la compresión Jpeg se puede usar en archivos tiff de Photoshop, pero solo en archivos de 8 bits, pero también muestra una advertencia de compatibilidad con los Photoshop más antiguos. Está atenuado en los archivos de bits más altos. Si abre un archivo tiff y luego presiona "guardar como", mostrará la misma configuración de compresión del archivo original, por lo que es una forma de saber si un archivo tiff está usando compresión con pérdida. Casi todo mi trabajo en archivos tiff es de 16 bits y no creo haber visto nunca un archivo tiff de 8 bits codificado en jpeg. Aparentemente, ahora es compatible, pero no estaba en los Photoshop más antiguos, así que lo tenía al revés.