Tipos de mapeo tonal HDR y guía de selección - Comparación de global a local
Qué es el mapeo tonal - Comprimir HDR al rango visualizable
El mapeo tonal (Tone Mapping) es la técnica que comprime el rango de luminancia de una imagen de alto rango dinámico (HDR) al rango que puede mostrar un dispositivo de visualización estándar. El rango de luminancia de una escena HDR puede alcanzar 10^5:1, mientras que un monitor convencional solo puede mostrar aproximadamente 1000:1.
Por qué se necesita el mapeo tonal:
- Captura HDR: las cámaras y renderizadores modernos pueden producir datos con un rango dinámico muy superior a la capacidad de visualización
- Limitación de pantalla: los monitores SDR (8 bits) solo pueden representar 256 niveles de luminancia
- Fidelidad perceptual: un recorte simple pierde detalles en luces altas o sombras; el mapeo tonal preserva la percepción global
Objetivo del mapeo tonal: comprimir el rango dinámico manteniendo la sensación de realismo visual, el contraste y la visibilidad de los detalles de la imagen.
Mapeo tonal global - Transformación uniforme de luminancia
El mapeo tonal global aplica la misma función de transformación a todos los píxeles de la imagen. Es simple y eficiente, pero no puede optimizar simultáneamente las zonas claras y oscuras.
Algoritmos representativos:
- Reinhard global: basado en el ajuste de exposición fotográfica. Mapea la luminancia de la escena al rango [0,1], con un valor clave (key value) para controlar el brillo general
- ACES (Academy Color Encoding System): estándar de la industria cinematográfica. La curva en S proporciona una caída natural de las luces altas y una elevación de las sombras
- Filmic: simula la curva de respuesta de la película. Las luces altas se comprimen suavemente en lugar de recortarse bruscamente
- Corrección gamma: el mapeo no lineal más simple.
output = input^(1/gamma)
Ventajas y desventajas:
- Ventajas: cálculo rápido, sin artefactos de halo, resultados predecibles
- Desventajas: no puede preservar simultáneamente los detalles en zonas extremadamente claras y oscuras (limitación inherente de la compresión global)
Mapeo tonal local - Procesamiento adaptativo por regiones
El mapeo tonal local ajusta el mapeo según el entorno de luminancia local alrededor de cada píxel, pudiendo preservar simultáneamente los detalles en zonas claras y oscuras.
Algoritmos representativos:
- Reinhard local: basado en el mecanismo de adaptación local del ojo humano. El mapeo de cada píxel depende de la luminancia promedio de su zona circundante
- Durand-Dorsey: descompone la imagen en una capa base (baja frecuencia) y una capa de detalle (alta frecuencia), comprimiendo solo el rango dinámico de la capa base y preservando los detalles
- Fattal: método basado en el dominio del gradiente. Comprime los gradientes grandes (correspondientes a grandes saltos de luminancia) mientras preserva los gradientes pequeños (detalles)
Ventajas y desventajas:
- Ventajas: puede preservar simultáneamente detalles en luces y sombras, efecto visual más rico
- Desventajas: puede producir artefactos de halo, mayor carga computacional, ajuste de parámetros complejo
Problema del halo: cuando el cálculo del promedio local en los bordes entre zonas claras y oscuras no es adecuado, aparecen bandas claras u oscuras no naturales en los bordes. El uso de filtros que preservan bordes (como el filtro bilateral) para calcular el promedio local puede mitigar este problema.
Mapeo tonal en tiempo real - Aplicaciones en videojuegos y vídeo
Los videojuegos y el vídeo requieren ejecutar el mapeo tonal en cada fotograma en tiempo real. Es necesario encontrar un equilibrio entre calidad y rendimiento.
Mapeo tonal en videojuegos:
- Exposición automática: ajusta dinámicamente la exposición según la luminancia promedio de la escena, simulando la adaptación del ojo humano. Al pasar de una zona oscura a una clara, la imagen se oscurece gradualmente
- ACES Filmic: mapeo tonal predeterminado en Unreal Engine y Unity. Proporciona una representación del color de nivel cinematográfico
- Mapeo tonal local: implementado en Compute Shader, usando un mapa de luminancia submuestreado como referencia local
Salida a pantallas HDR:
- HDR10: 10 bits de profundidad de color, función de transferencia PQ (Perceptual Quantizer), máximo 1000-4000 nits
- Dolby Vision: 12 bits, metadatos dinámicos, máximo 10000 nits
- Al enviar juegos/vídeo a pantallas HDR, la estrategia de mapeo tonal es diferente: se preserva más rango dinámico en lugar de comprimir a SDR
Flujo de trabajo del mapeo tonal en fotografía HDR
La fotografía HDR combina varias fotos con diferentes exposiciones y luego aplica el mapeo tonal para obtener la imagen final.
Flujo de trabajo:
- Bracketing de exposición: tomar 3-7 fotos con diferentes exposiciones (por ejemplo, -2EV, 0EV, +2EV)
- Fusión HDR: combinar las múltiples fotos en una sola imagen HDR de 32 bits en punto flotante (algoritmo Debevec, fusión Mertens)
- Mapeo tonal: mapear la imagen HDR al rango visualizable de 8 bits
- Ajustes finales: ajuste fino de contraste, saturación, ajustes locales
Herramientas:
- Lightroom: fusión HDR y mapeo tonal integrados (Photo Merge → HDR)
- Photomatix: software profesional de procesamiento HDR con múltiples algoritmos de mapeo tonal
- OpenCV:
cv2.createMergeDebevec()+cv2.createTonemap()
Guía de selección de algoritmos de mapeo tonal
Seleccionar el algoritmo de mapeo tonal adecuado según el escenario de aplicación y los requisitos.
Decisión de selección:
- Renderizado en tiempo real (videojuegos): ACES Filmic o Uncharted 2 Filmic. Rápido, buen efecto visual, sin artefactos
- Postproducción fotográfica: Reinhard local o Fattal. Preserva el máximo de detalles, permite ajuste fino
- Producción de vídeo: flujo de trabajo ACES. Estándar industrial, gestión del color completa
- Visualización científica: mapeo logarítmico o lineal por segmentos. Mantiene las relaciones cuantitativas de los datos
Consejos para el ajuste de parámetros:
- Comenzar con los parámetros predeterminados y observar el efecto general
- Ajustar el valor clave/exposición para controlar el brillo general
- Ajustar el punto blanco para determinar la posición de recorte de luces altas
- En algoritmos locales, ajustar el radio del filtro para controlar el grado de mejora de detalles
- Evitar el procesamiento excesivo (la sensación de «HDR exagerado» en las fotos)