Radiance HDR (.hdr)
Norme StandardRadiance 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 :
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 0AREPRÉSENTATION ASCII : #?RADIANCE\n
Normalisation : Norme du système d'imagerie synthétique Radiance
Spécifications techniques
| Architecture de conteneur | En-tête ASCII se terminant par une ligne vide suivie d'une chaîne de résolution et de lignes de balayage RLE binaires |
| Compression | Encodage adaptatif par plages (RLE) appliqué par canal de ligne de balayage |
| Boutisme des octets | Gros-boutiste / Ordre des octets du réseau |
| Espaces colorimétriques | RVB linéaire Rec.709 avec coordonnées de chromaticité CIE |
| Canaux et structure | RGBE : Rouge, Vert, Bleu (mantisses 8 bits) + exposant 8 bits partagé |
| Dimensions maximales | Pratiquement illimité (chaînes de résolution non signées de 32 bits) |
| Transparence | Aucune (mesures de luminance radiante physique) |
| Streaming et progressif | Lecture en continu séquentielle ligne de balayage par ligne de balayage |
Matrice de comparaison technique : HDR vs Concurrents
| Attribut technique | HDR (Actuel) | EXR | TIFF | JPEG |
|---|---|---|---|---|
| Encodage des pixels | RGBE 32 bits (exposant partagé 8 bits) | Demi-flottant 16 bits / flottant 32 bits par canal | Entier 8/16 bits ou flottant 32 bits | Entier encodé en gamma 8 bits |
| Cas d'utilisation principal | Éclairage d'environnement à 360 degrés (IBL) | Composition multipasse VFX | Photographie et pré-presse | Graphiques Web standard |
| Portée de la plage dynamique | 76 ordres de grandeur (10^-38 à 10^38) | Plage flottante pratiquement infinie | Varie selon la profondeur de bits | Plage SDR 8 bits limitée |
| Canaux pris en charge | RVB uniquement | Canaux arbitraires illimités | Plusieurs canaux arbitraires | RVB / 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
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.