TIFF: Tagged Image File Format — El Estándar de Oro para Imagen Profesional
TIFF (Tagged Image File Format) es el formato de imagen rasterizada profesional de confianza para fotógrafos, editores, sistemas de imagen médica y archivistas de todo el mundo. Mientras que JPEG se ha vuelto dominante para la distribución web y la fotografía de consumo, TIFF sigue siendo el estándar indiscutible cuando la calidad de imagen, la profundidad de bits y la riqueza de metadatos no pueden comprometerse.
¿Qué Es TIFF?
TIFF fue desarrollado por Aldus Corporation (adquirida posteriormente por Adobe) y publicado por primera vez en 1986. La versión 6.0 (1992) es la especificación estable actual; TIFF/EP y BigTIFF son extensiones modernas. El formato fue diseñado desde el principio para ser flexible y extensible — un enfoque de "contenedor de contenedores" que le ha permitido absorber décadas de nuevas capacidades sin romper la compatibilidad hacia atrás.
Principios de diseño fundamentales de TIFF:
- Estructura basada en etiquetas: Todos los metadatos y parámetros técnicos almacenados como pares clave-valor tipificados (tags)
- Soporte multi-imagen: Un único TIFF puede contener múltiples imágenes (páginas, niveles de pirámide, miniaturas)
- Independiente del códec: Los datos de imagen pueden comprimirse con LZW, ZIP/Deflate, JPEG, PackBits o almacenarse en bruto
- Modelos de color flexibles: RGB, CMYK, Lab*, YCbCr, escala de grises, bitonos, multicanal
- Cualquier profundidad de bits: 1, 4, 8, 16, 32, 64 bits por muestra; entero o punto flotante
Estructura del Fichero TIFF: Arquitectura IFD
Un fichero TIFF comienza con una cabecera de 8 bytes:
Diseño del Fichero TIFF
├── Cabecera (8 bytes)
│ ├── Marca de orden de bytes: 'II' (little-endian Intel) o 'MM' (big-endian Motorola)
│ ├── Número mágico: 42 (0x002A)
│ └── Desplazamiento al primer IFD (4 bytes)
├── Image File Directory 0 (IFD0) — Primera imagen
│ ├── Recuento de entradas (2 bytes)
│ ├── Entradas del directorio (12 bytes cada una)
│ │ ├── ID de etiqueta (2 bytes) — ej. 256 = ImageWidth
│ │ ├── Tipo de dato (2 bytes)
│ │ ├── Recuento (4 bytes)
│ │ └── Valor/Desplazamiento (4 bytes)
│ └── Desplazamiento al siguiente IFD (4 bytes, 0 = último IFD)
└── Bloques de datos de imagen
La estructura IFD basada en etiquetas es la característica de diseño más importante de TIFF. Cualquier lector que encuentre un ID de etiqueta desconocido simplemente lo ignora — por eso los ficheros TIFF de 1990 aún se abren en software de 2024.
Etiquetas TIFF Esenciales
| ID Etiqueta | Nombre | Descripción |
|---|---|---|
| 256 | ImageWidth | Ancho en píxeles |
| 257 | ImageLength | Alto en píxeles |
| 258 | BitsPerSample | Bits por canal (8, 16, 32…) |
| 259 | Compression | 1=Ninguna, 5=LZW, 6=JPEG, 8=Deflate |
| 262 | PhotometricInterpretation | 2=RGB, 6=YCbCr, 5=CMYK, 8=CIE Lab* |
| 317 | Predictor | 1=Ninguno, 2=Diferenciación horizontal |
| 34675 | ICCProfile | Perfil de color ICC incrustado |
Trabajar con TIFF en Python
from PIL import Image
import tifffile
import numpy as np
# Abrir y convertir TIFF
with Image.open('escaneado.tiff') as img:
print(f"Modo: {img.mode}, Tamaño: {img.size}")
print(f"Etiquetas: {img.tag_v2}")
# Convertir TIFF de 16 bits a JPEG de 8 bits
if img.mode in ('I;16', 'I'):
arr = np.array(img)
arr_8bit = (arr / 256).astype(np.uint8)
Image.fromarray(arr_8bit).save('salida.jpg', 'JPEG', quality=92)
else:
img.convert('RGB').save('salida.jpg', 'JPEG', quality=92)
# TIFF multipágina (ej. documento escaneado)
with Image.open('multipagina.tiff') as img:
for i in range(img.n_frames):
img.seek(i)
img.copy().convert('RGB').save(f'pagina_{i+1:03d}.jpg', 'JPEG', quality=95)
print(f"Páginas: {img.n_frames}")
# TIFF de alta profundidad de bits con tifffile
with tifffile.TiffFile('raw_16bit.tiff') as tif:
arr = tif.asarray()
print(f"Forma: {arr.shape}, tipo: {arr.dtype}")
# Crear TIFF multipágina desde imágenes
imagenes = [Image.open(f) for f in ['p1.jpg', 'p2.jpg', 'p3.jpg']]
imagenes[0].save('multipagina.tiff',
save_all=True,
append_images=imagenes[1:],
compression='tiff_lzw')
Opciones de Compresión TIFF
| Compresión | Valor etiqueta | Ratio | Velocidad | Mejor para |
|---|---|---|---|---|
| Ninguna | 1 | 1:1 | Más rápida | Máxima compatibilidad, archivado |
| LZW | 5 | ~3:1 | Rápida | General, sin pérdida más común |
| Deflate/ZIP | 8 | ~4:1 | Media | Mejor sin pérdida, más pequeño que LZW |
| JPEG | 6 | ~15:1 | Rápida | Con pérdida — fotos en contenedor TIFF |
LZW con Predictor=2 (diferenciación horizontal) mejora significativamente el ratio de compresión para imágenes fotográficas.
TIFF en Flujos de Trabajo Profesionales
Salida de escáner plano: TIFF es el formato de salida predeterminado para la mayoría de los escáneres profesionales. 16 bits en escala de grises o 48 bits RGB capturan más rango dinámico que 8 bits.
Producción de impresión: TIFF con espacio de color CMYK, 8 o 16 bits por canal, a 300 DPI es el estándar para la impresión offset. Los perfiles ICC incrustados garantizan la consistencia del color entre monitor y prensa.
Patología digital: Las imágenes de portaobjetos completos (WSI) usan TIFF piramidal o formatos basados en TIFF como SVS (Aperio), SCN (Leica) para imágenes de varios gigapíxeles.
Flujo de trabajo fotográfico RAW: CameraRAW → TIFF ProPhoto RGB de 16 bits → ediciones no destructivas → JPEG sRGB de 8 bits para entrega. El TIFF de 16 bits es el máster.
Comparativa TIFF vs JPEG vs PNG vs RAW
| Característica | TIFF | JPEG | PNG | RAW de cámara |
|---|---|---|---|---|
| Compresión | Sin pérdida (LZW/ZIP) o con pérdida (JPEG-en-TIFF) | Con pérdida | Sin pérdida | Sin pérdida (propietario) |
| Profundidad de bits | 1–64 bits | 8 bits | 8/16 bits | 12–16 bits |
| Espacios de color | RGB, CMYK, Lab, YCbCr, multicanal | Solo YCbCr | RGB/RGBA | Específico de cámara |
| Páginas/capas | Múltiples IFDs | No | No | No |
| Tamaño máximo | 4 GB (clásico) / 18 EB (BigTIFF) | ~65 MB práctico | ~1 GB | Variable |
| Uso profesional | Impresión, archivado, médico | Distribución web | Web, iconos | Adquisición en cámara |
Resumen
La duradera dominancia de TIFF en imagen profesional proviene de sus elecciones de diseño fundamentales: extensibilidad basada en etiquetas, soporte multi-imagen, flexibilidad de códec y profundidad de bits arbitraria. Ya sea que estés archivando escaneados de 16 bits, preparando arte CMYK para impresión o construyendo una cadena de imagen médica, TIFF proporciona la fidelidad y la riqueza de metadatos que los formatos de consumo no pueden igualar.
Conversiones relacionadas
Lo más habitual al trabajar con imágenes son estas direcciones de conversión: