Radiance HDR (.hdr)

Norme Standard

Radiance RGBE (HDR) est le format à plage dynamique élevée fondamental développé pour le système d'imagerie synthétique Radiance, stockant des valeurs de luminance photométriquement précises à l'aide d'un exposant partagé de 8 bits.

Inspecter et métadonnées

Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers HDR en inspectant la séquence d'octets binaires de tête :

Sélectionnez ou déposez des fichiers ici

Conversion 100 % privée dans le navigateur - les fichiers ne quittent jamais votre appareil

ou coller Ctrl+V
Garantie de confidentialité sans transmission réseau : 0 octet téléchargé vers des serveurs externes. Tout le traitement a lieu localement dans le bac à sable de votre navigateur.

Signature d'en-tête au niveau des octets (Magic Bytes)

Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers HDR en inspectant la séquence d'octets binaires de tête :

SIGNATURE HEXADÉCIMALE (DÉCALAGE 0) :

23 3F 52 41 44 49 41 4E 43 45 0A

REPRÉSENTATION ASCII : #?RADIANCE\n

Normalisation : Norme du système d'imagerie synthétique Radiance

Spécifications techniques

Architecture de conteneurEn-tête ASCII se terminant par une ligne vide suivie d'une chaîne de résolution et de lignes de balayage RLE binaires
CompressionEncodage adaptatif par plages (RLE) appliqué par canal de ligne de balayage
Boutisme des octetsGros-boutiste / Ordre des octets du réseau
Espaces colorimétriquesRVB linéaire Rec.709 avec coordonnées de chromaticité CIE
Canaux et structureRGBE : Rouge, Vert, Bleu (mantisses 8 bits) + exposant 8 bits partagé
Dimensions maximalesPratiquement illimité (chaînes de résolution non signées de 32 bits)
TransparenceAucune (mesures de luminance radiante physique)
Streaming et progressifLecture en continu séquentielle ligne de balayage par ligne de balayage

Matrice de comparaison technique : HDR vs Concurrents

Attribut techniqueHDR (Actuel)EXRTIFFJPEG
Encodage des pixelsRGBE 32 bits (exposant partagé 8 bits)Demi-flottant 16 bits / flottant 32 bits par canalEntier 8/16 bits ou flottant 32 bitsEntier encodé en gamma 8 bits
Cas d'utilisation principalÉclairage d'environnement à 360 degrés (IBL)Composition multipasse VFXPhotographie et pré-presseGraphiques Web standard
Portée de la plage dynamique76 ordres de grandeur (10^-38 à 10^38)Plage flottante pratiquement infinieVarie selon la profondeur de bitsPlage SDR 8 bits limitée
Canaux pris en chargeRVB uniquementCanaux arbitraires illimitésPlusieurs canaux arbitrairesRVB / CMJN

Modes de corruption courants et guide de récupération hexadécimale

L'image affiche des bandes de stries horizontales sur toute la largeur du cadre.

Cause racine: Octet de comptage de longueurs de plages corrompu lors de la décompression RLE de la ligne de balayage.

Récupération: Reconstruisez les marqueurs de lignes de balayage endommagés à l'aide de File2File HDR Repair ou convertissez au format EXR.

Analyse de sécurité et vecteurs d'attaque de l'analyseur

Les décodeurs Radiance HDR analysent souvent les lignes d'en-tête ASCII à l'aide de routines de chaînes non délimitées qui peuvent déclencher des dépassements de tampon de pile.

Vecteurs d'attaque connus

  • Appels sprintf/sscanf non délimités lors de la lecture des en-têtes de chaîne de résolution ('-Y %d +X %d').
  • Écriture hors limites du tas lors du décodage de lignes de balayage RLE malformées.
  • Dépassement d'entier lors de l'allocation de tampons à virgule flottante de destination 32 bits.

Bonnes pratiques de défense: Validez la longueur de l'en-tête ASCII et les dimensions des lignes de balayage avant d'allouer des tampons d'image.

Origines historiques et jalons

2000Paul Debevec popularise l'éclairage basé sur des images (IBL) HDR en infographie en utilisant les fichiers .hdr de Radiance.
1997Normalisation de l'encodage adaptatif par plages de lignes de balayage pour réduire la taille des fichiers.
1989Greg Ward invente l'encodage de pixels RGBE 32 bits et le format .hdr au Lawrence Berkeley National Laboratory.

Principaux avantages

  • Empreinte mémoire compacte de 32 bits par pixel tout en couvrant 76 ordres de grandeur de luminance lumineuse physique.
  • Prise en charge universelle dans tous les paquets de rendu 3D (Blender, Unreal Engine, Unity, Cinema 4D) pour les cartes d'environnement à 360 degrés.
  • Structure de fichier simple et robuste facilement mise en œuvre sur toutes les plateformes logicielles.

Limites techniques

  • Des bandes de quantification peuvent se produire dans les régions extrêmement sombres en raison de l'encodage par exposant partagé de 8 bits.
  • Les canaux RVB ne peuvent pas stocker de nombres négatifs ou de calques multipasses arbitraires.
  • Largement remplacé par OpenEXR pour la production d'effets visuels multipasses.

Anecdotes techniques

  • Chaque fichier Radiance HDR commence par l'en-tête textuel '#?RADIANCE' ou '#?RGBE'.
  • Le format a été créé pour simuler l'éclairage architectural physique dans la conception de bâtiments avant que les structures ne soient construites.
  • L'article emblématique de Paul Debevec de 1997 à SIGGRAPH, 'Recovering High Dynamic Range Radiance Maps from Photographs', a utilisé ce format pour révolutionner l'éclairage CGI.

Foire aux questions techniques

À quoi sert un fichier HDRI en 3D ?

Les fichiers HDRI (.hdr) sont utilisés comme cartes d'environnement panoramiques à 360 degrés pour fournir un éclairage, des ombres et des reflets photoréalistes du monde réel sur des objets 3D.

Comment fonctionne l'encodage RGBE 32 bits ?

Au lieu de stocker trois nombres à virgule flottante séparés, RGBE utilise 8 bits chacun pour le rouge, le vert et le bleu, plus un exposant partagé de 8 bits, intégrant toute la plage dynamique HDR dans seulement 4 octets par pixel.

Puis-je convertir un HDR en JPG ?

Oui. File2File.app peut mapper les tons et convertir des fichiers Radiance HDR 32 bits en images JPG ou PNG standard directement dans votre navigateur.