Radiance HDR (.hdr)

Estándar Estándar

Radiance 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:

Selecciona o arrastra archivos aquí

Conversión 100% privada en el navegador; los archivos nunca salen de tu dispositivo

o pega Ctrl+V
Garantía de privacidad sin transmisión de red: 0 bytes subidos a servidores externos. Todo el procesamiento se realizó de forma local en el entorno seguro de tu navegador.

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 0A

REPRESENTACIÓN ASCII: #?RADIANCE\n

Estandarización: Estándar del sistema de imágenes sintéticas Radiance

Especificaciones técnicas

Arquitectura del contenedorCabecera ASCII que termina con una línea vacía seguida de la cadena de resolución y líneas de escaneo RLE binarias
CompresiónCodificació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 colorRGB lineal Rec.709 con coordenadas de cromaticidad CIE
Canales y estructuraRGBE: Rojo, Verde, Azul (mantisas de 8 bits) + Exponente compartido de 8 bits
Dimensiones máximasPrácticamente ilimitadas (cadenas de resolución sin signo de 32 bits)
TransparenciaNinguna (mediciones de luminancia radiante física)
Streaming y progresivoReproducción en streaming secuencial línea por línea

Matriz de comparación técnica: HDR frente a la competencia

Atributo técnicoHDR (Actual)EXRTIFFJPEG
Codificación de píxelesRGBE de 32 bits (exponente compartido de 8 bits)Mitad de 16 bits / flotante de 32 bits por canalEntero de 8/16 bits o flotante de 32 bitsEntero con codificación gamma de 8 bits
Caso de uso principalIluminación de entorno de 360 grados (IBL)Composición multipaso de efectos visualesFotografía y preimpresiónGráficos web estándar
Alcance de rango dinámico76 órdenes de magnitud (10^-38 a 10^38)Rango flotante prácticamente infinitoVaría según la profundidad de bitsRango SDR limitado de 8 bits
Canales soportadosSolo RGBCanales arbitrarios ilimitadosMúltiples canales arbitrariosRGB / 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

2000Paul Debevec populariza la iluminación basada en imágenes HDR (IBL) en gráficos por computadora utilizando archivos .hdr de Radiance.
1997Se estandariza la codificación adaptativa de longitud de ejecución por línea de escaneo para reducir el tamaño de los archivos.
1989Greg Ward inventa la codificación de píxeles RGBE de 32 bits y el formato .hdr en el Laboratorio Nacional Lawrence Berkeley.

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.