Radiance HDR (.hdr)
Estándar EstándarRadiance RGBE (HDR) es el formato de alto rango dinámico fundamental desarrollado para el sistema de imágenes sintéticas Radiance, que almacena valores de luminancia fotométricamente precisos utilizando un exponente compartido de 8 bits.
Inspeccionar y metadatos
Los sistemas operativos y analizadores de archivos identifican los archivos de HDR inspeccionando la secuencia de bytes binarios inicial:
Firma de cabecera a nivel de bytes (Bytes mágicos)
Los sistemas operativos y analizadores de archivos identifican los archivos de HDR inspeccionando la secuencia de bytes binarios inicial:
FIRMA HEXADECIMAL (DESPLAZAMIENTO 0):
23 3F 52 41 44 49 41 4E 43 45 0AREPRESENTACIÓN ASCII: #?RADIANCE\n
Estandarización: Estándar del sistema de imágenes sintéticas Radiance
Especificaciones técnicas
| Arquitectura del contenedor | Cabecera ASCII que termina con una línea vacía seguida de la cadena de resolución y líneas de escaneo RLE binarias |
| Compresión | Codificación adaptativa de longitud de ejecución (RLE) aplicada por línea de escaneo de canal |
| Orden de bytes (Endianness) | Big-Endian / Orden de bytes de red |
| Espacios de color | RGB lineal Rec.709 con coordenadas de cromaticidad CIE |
| Canales y estructura | RGBE: Rojo, Verde, Azul (mantisas de 8 bits) + Exponente compartido de 8 bits |
| Dimensiones máximas | Prácticamente ilimitadas (cadenas de resolución sin signo de 32 bits) |
| Transparencia | Ninguna (mediciones de luminancia radiante física) |
| Streaming y progresivo | Reproducción en streaming secuencial línea por línea |
Matriz de comparación técnica: HDR frente a la competencia
| Atributo técnico | HDR (Actual) | EXR | TIFF | JPEG |
|---|---|---|---|---|
| Codificación de píxeles | RGBE de 32 bits (exponente compartido de 8 bits) | Mitad de 16 bits / flotante de 32 bits por canal | Entero de 8/16 bits o flotante de 32 bits | Entero con codificación gamma de 8 bits |
| Caso de uso principal | Iluminación de entorno de 360 grados (IBL) | Composición multipaso de efectos visuales | Fotografía y preimpresión | Gráficos web estándar |
| Alcance de rango dinámico | 76 órdenes de magnitud (10^-38 a 10^38) | Rango flotante prácticamente infinito | Varía según la profundidad de bits | Rango SDR limitado de 8 bits |
| Canales soportados | Solo RGB | Canales arbitrarios ilimitados | Múltiples canales arbitrarios | RGB / CMYK |
Modos de corrupción comunes y guía de recuperación hexadecimal
La imagen muestra bandas de rayas horizontales en todo el ancho del fotograma.
Causa raíz: Byte de recuento de longitud de ejecución dañado en la descompresión RLE de la línea de escaneo.
Recuperación: Reconstruya los marcadores de línea de escaneo dañados usando la reparación de HDR de File2File o convierta a EXR.
Análisis de seguridad y vectores de ataque al analizador
Los decodificadores de Radiance HDR a menudo analizan las líneas de cabecera ASCII utilizando rutinas de cadenas no acotadas que pueden desencadenar desbordamientos del búfer de pila.
Vectores de ataque conocidos
- Llamadas no acotadas sprintf/sscanf al leer las cabeceras de cadena de resolución ('-Y %d +X %d').
- Escritura fuera de los límites del montón durante la decodificación de líneas de escaneo RLE mal formadas.
- Desbordamiento de enteros al asignar búferes de coma flotante de 32 bits de destino.
Mejores prácticas defensivas: Valide la longitud de la cabecera ASCII y las dimensiones de la línea de escaneo antes de asignar búferes de imagen.
Orígenes históricos e hitos
Ventajas clave y pros
- Huella de memoria compacta de 32 bits por píxel mientras abarca 76 órdenes de magnitud de luminancia de luz física.
- Soporte universal en paquetes de renderizado 3D (Blender, Unreal Engine, Unity, Cinema 4D) para mapas de entorno de 360 grados.
- Estructura de archivo simple y robusta implementada fácilmente en todas las plataformas de software.
Limitaciones técnicas y contras
- Pueden ocurrir bandas de cuantización en regiones muy oscuras debido a la codificación con exponente compartido de 8 bits.
- Los canales RGB no pueden almacenar números negativos ni capas multipaso arbitrarias.
- Ha sido reemplazado en gran medida por OpenEXR para la producción de efectos visuales multipaso.
Curiosidades técnicas interesantes
- Cada archivo Radiance HDR comienza con la cabecera de texto '#?RADIANCE' o '#?RGBE'.
- El formato fue creado para simular la iluminación arquitectónica física en el diseño de edificios antes de que se construyeran las estructuras.
- El icónico artículo de SIGGRAPH de 1997 de Paul Debevec 'Recovering High Dynamic Range Radiance Maps from Photographs' utilizó este formato para revolucionar la iluminación por CGI.
Preguntas técnicas frecuentes
¿Para qué se utiliza un archivo HDRI en 3D?
Los archivos HDRI (.hdr) se utilizan como mapas de entorno panorámicos de 360 grados para proporcionar iluminación, sombras y reflejos fotorrealistas del mundo real en objetos 3D.
¿Cómo funciona la codificación RGBE de 32 bits?
En lugar de almacenar tres números de coma flotante separados, RGBE utiliza 8 bits para cada uno de los colores rojo, verde y azul, más un exponente compartido de 8 bits, ajustando el rango dinámico HDR completo en solo 4 bytes por píxel.
¿Puedo convertir HDR a JPG?
Sí. File2File.app puede aplicar mapeo de tonos y convertir archivos Radiance HDR de 32 bits en imágenes estándar JPG o PNG directamente en su navegador.