HEIC: Contenedor de Imagen de Alta Eficiencia para Ecosistema Apple
HEIC (High Efficiency Image Container) es el formato de imagen moderno de Apple basado en Formato de Archivo de Media Base ISO (ISOBMFF)—el mismo contenedor usado por vídeo MP4 e HEIF. Introducido en iOS 11 (2017), HEIC se ha convertido en el predeterminado para fotos de iPhone/iPad, reemplazando JPEG. HEIC logra archivos 40–50% más pequeños que JPEG con calidad equivalente, con soporte para múltiples imágenes, mapas de profundidad y transparencia alfa completa.
Limitación crítica: HEIC es principalmente soportado por dispositivos Apple. Windows, Android y la mayoría de navegadores web requieren conversión a JPEG, PNG o WebP para compatibilidad universal.
Estructura de Contenedor ISOBMFF: Cajas
HEIC usa la misma estructura basada en cajas que vídeo MP4:
caja ftyp (tipo de archivo — marca 'heic', compatible 'mif1')
caja meta (metadatos — información a nivel de archivo)
caja hdlr (manejador — 'pict' para imagen estática)
caja pitm (elemento primario — cuál elemento es la imagen primaria)
caja iinf (información de elemento — lista de imágenes, metadatos)
cajas infe (entradas de elemento — propiedades de imagen)
caja iloc (ubicación de elemento — desplazamientos de byte y tamaños)
caja iprp (propiedades de elemento — parámetros de códec, perfil de color, info alfa)
caja ipco (contenedor de propiedades)
caja hvcC (configuración HEVC — perfil, nivel, profundidad de bit)
caja colr (información de color — espacio de color, gamma)
caja pixi (información de píxel — bits por canal)
caja axxx (propiedades auxiliares)
caja mdat (datos de media — flujo de bits HEVC crudos)
Archivo HEIC mínimo (imagen intra-frame única):
ftyp: marca='heic', compatibilidad=['mif1', 'heic']
meta: id_elemento_primario=1
iloc: id_elemento=1 desplazamiento=1000 tamaño=50000
iprp:
hvcC: perfil=imagen_estática_principal, nivel=3.0, profundidad_bit=8
colr: tipo_color='nclx', primarias='sRGB'
mdat: [50000 bytes datos intra-frame HEVC]
Codificación Intra-Frame HEVC para Imágenes Estáticas
HEIC usa HEVC solo intra—cada imagen se codifica independientemente (sin compensación de movimiento):
- CTU (Unidad de Árbol de Codificación): bloques 64×64 (vs. 8×8 de JPEG)
- Transformada: transformadas similares a DCT 4×32×32 (tamaños de bloque adaptativos)
- Predicción: 35 modos intra direccionales (predicción espacial desde píxeles vecinos)
- Codificación de entropía: CABAC (Codificación Aritmética Adaptativa por Contexto, ~30–40% mejor que Huffman)
- Filtros de bucle: Deblocking + SAO (Sample Adaptive Offset) elimina artefactos de bloque
- Profundidad de bit: 8-bit (sRGB), 10-bit o 12-bit (HDR)
Comparación de compresión (destino 100 KB JPEG):
JPEG (Q=75): 1.2 MB → 100 KB
HEIC (CRF=28): 1.2 MB → 65 KB (35% más pequeño que JPEG)
WebP (CRF=20): 1.2 MB → 60 KB (similar a HEIC, pero soporte universal)
AVIF (CRF=23): 1.2 MB → 50 KB (mejor compresión, codificación más lenta)
Canal Alfa e Imágenes Auxiliares
Plano alfa (HEIC RGBA):
Imagen primaria: intra-frame HEVC (YCbCr)
Plano alfa: Imagen auxiliar HEVC separada (monocromática)
Enlace vía 'auxl' propiedad indicando cuál imagen es alfa para cuál
Habilita transparencia sin archivo separado.
Mapa de profundidad (modo retrato):
Imagen primaria: Foto de retrato (intra HEVC)
Auxiliar profundidad: Valor de profundidad por píxel (escala grises HEVC)
Segmentación: Usada para efectos de desenfoque/enfoque en app Fotos
Preserva información de profundidad para re-editar enfoque después.
Metadatos y Perfil de Color
hvcC (Configuración HEVC):
perfil: 0 = Imagen Estática Principal
nivel: 30 = nivel 3.0 (máximo 177.280 píxeles/seg)
profundidad_bit: 0 = 8-bit, 1 = 10-bit, 2 = 12-bit
info_vídeo: bandera monocromática, formato croma, bandera entrelazado
colr (Información de Color):
tipo_color: 'nclx' (codificado no-primario, para sRGB/Adobe RGB)
'rICC' (perfil ICC restringido)
'prof' (perfil ICC sin restricciones)
primarias: 1 = BT.709 (sRGB), 9 = BT.2020 (cine DCI)
transferencia: 1 = BT.709, 2 = no especificado, 14 = BT.2020-10bit
matriz: 1 = BT.709, 9 = BT.2020 luminancia constante
Tamaño de Archivo: HEIC vs. JPEG vs. WebP
| Tipo de Imagen | JPEG | HEIC | WebP | AVIF |
|---|---|---|---|---|
| Foto (1920×1080) | 400 KB | 260 KB | 240 KB | 200 KB |
| Captura de pantalla (1080×1920) | 350 KB | 180 KB | 150 KB | 140 KB |
| Gráfico (256×256) | 80 KB | 45 KB | 35 KB | 32 KB |
| Foto típica de iPhone | 3 MB JPEG | 1.8 MB HEIC | 1.5 MB WebP | 1.2 MB AVIF |
Impacto de almacenamiento de iPhone: HEIC ahorra ~40–50% almacenamiento vs. fuente JPEG original.
Soporte de Navegador y Dispositivo
| Plataforma | HEIC | HEIF | Ruta de Conversión |
|---|---|---|---|
| iPhone/iPad | ✅ Nativo | ✅ Nativo | Ninguna necesaria |
| macOS | ✅ Preview, Photos | ✅ App Fotos | Ninguna necesaria |
| Windows | ❌ (requiere app) | ❌ (requiere extensión) | HEIC→JPEG via herramientas online |
| Android | ❌ | ❌ | Ninguna (usa JPEG nativamente) |
| Chrome/Firefox/Edge | ❌ | ❌ | HEIC→WebP recomendado |
| Safari | ✅ | ✅ | Ninguna (nativo) |
Despliegue web: NO uses HEIC para web. Convierte a WebP (moderno) o JPEG (fallback).
Conversión: HEIC → JPEG/WebP
macOS (herramientas del sistema):
# Convertir HEIC a JPEG via sips
sips -s format jpeg entrada.heic -o salida.jpg
# Conversión en lote
for f in *.heic; do sips -s format jpeg "$f" -o "${f%.heic}.jpg"; done
FFmpeg:
ffmpeg -i entrada.heic salida.jpg
ffmpeg -i entrada.heic -quality 85 salida.jpg
ImageMagick (requiere libheif):
convert entrada.heic salida.jpg
Python (Pillow con pillow-heif):
pip install pillow-heif
from PIL import Image
from pillow_heif import register_heif_opener
register_heif_opener()
img = Image.open('entrada.heic')
img.save('salida.jpg', 'JPEG', quality=85)
Herramientas online (sin software necesario):
- CloudConvert, Online-Convert, Zamzar (gratis, maneja HEIC→JPEG/PNG/WebP)
HEIC vs. Alternativas
| Formato | Compresión | Universal | Transparencia | Perfil | Ecosistema |
|---|---|---|---|---|---|
| HEIC | ~40% vs JPEG | ❌ (Apple) | ✅ | Apple Photos | Solo Apple |
| JPEG | Línea base | ✅ | ❌ | Amplio | Universal |
| PNG | Lossless | ✅ | ✅ | Estándar | Universal |
| WebP | ~30% vs JPEG | 97% navegadores | ✅ | Web-nativo | Web moderno |
| AVIF | ~50% vs JPEG | 82% navegadores | ✅ | Próxima generación | Emergente |
Recomendación:
- Usuarios iPhone/iPad: Usa HEIC nativamente—Apple maneja conversión al compartir
- Publicación web: Convierte HEIC → WebP (moderno) o JPEG (fallback heredado)
- Intercambio multiplataforma: Siempre exporta como JPEG para evitar problemas de compatibilidad
- Nuevos proyectos: Salta HEIC completamente; usa WebP para moderno, JPEG para universal
HEIC es excelente para eficiencia de almacenamiento del ecosistema Apple pero sigue siendo un ecosistema cerrado. Para interoperabilidad, WebP es superior.
Conversiones relacionadas
Conversiones de vídeo que encajan con esta guía: