Qu'est-ce que le format de fichier HDR ?
Le fichier .hdr est une image matricielle Radiance HDR (High Dynamic Range), développée par Greg Ward au Lawrence Berkeley National Laboratory dans le cadre du système de simulation d'éclairage Radiance à la fin des années 1980. Le format était initialement stocké avec l'extension .pic avant que .hdr ne devienne la norme.
Chaque pixel est encodé en utilisant le format RGBE - trois valeurs de mantisse de 8 bits pour les canaux rouge, vert et bleu, plus un seul exposant partagé de 8 bits. Cela permet de compacter un pixel HDR complet en virgule flottante dans seulement 4 octets, représentant une plage dynamique couvrant environ 76 ordres de grandeur (~10⁻³⁸ à 10³⁸). Le compromis est que les trois canaux partagent un seul exposant, la précision par canal est donc inférieure à celle de formats comme OpenEXR, qui stocke de vrais flottants 16 ou 32 bits par canal et prend en charge plusieurs couches.
Le fichier commence par un en-tête ASCII contenant la signature #?RADIANCE (certains outils écrivent #?RGBE à la place - les deux sont valides). Après le bloc de variables clé=valeur et une ligne de résolution, les données de pixels sont stockées sous forme de lignes de balayage compressées par codage par plages (RLE). Un encodage de luminance alternatif est également pris en charge : définir le champ d'en-tête FORMAT sur 32-bit_rle_xyze permet de passer de l'espace colorimétrique RGB à CIE XYZ.
Les fichiers .hdr sont largement utilisés pour les cartes d'environnement HDRI dans le rendu 3D et les moteurs de jeu, où la haute plage dynamique permet un éclairage basé sur l'image précis. Ils sont pris en charge par Blender, GIMP, Adobe Photoshop et la plupart des pipelines de rendu en temps réel. Pour les travaux de production VFX nécessitant une précision flottante par canal et un support multicouche, OpenEXR est devenu en grande partie le standard de l'industrie.
Sécurité et sûreté
RISQUE : LOWUn fichier Radiance .hdr est une image passive - sans scripts, macros ou contenu exécutable - le fichier lui-même n'est donc pas un vecteur de logiciels malveillants. Les seules précautions pratiques concernent les tailles de fichiers importantes pour les cartes HDRI haute résolution et les rares bogues d'analyseurs de bibliothèques d'images ; gardez votre éditeur à jour. Évitez les sites de « convertisseurs HDR gratuits » douteux qui incluent des logiciels publicitaires - GIMP, Krita, Blender et Photopea couvrent ces besoins gratuitement.
Détails du format
en bref- Analog Devices / Mentor SPICE .hdr (données d'en-tête) - Certains outils EDA et de données écrivent un fichier compagnon .hdr d'en-tête/métadonnées en texte brut - sans rapport avec l'imagerie.
- En-tête ENVI / télédétection .hdr - Les en-têtes matriciels ENVI utilisent .hdr comme fichier texte d'accompagnement décrivant une image brute associée, et non une image Radiance.
- Moteur de jeu / actifs d'installation '.hdr' - Parfois, un moteur nomme un cubemap HDR compressé ou un fichier d'en-tête générique .hdr.
Programmes qui ouvrent les fichiers HDR
Détails techniques
spécifications approfondies| Schéma d'encodage | RGBE - mantisse 8 bits par canal R, G, B plus un exposant 8 bits partagé ; compacte un pixel HDR en exactement 4 octets |
| Plage dynamique | ~76 ordres de grandeur (~10⁻³⁸ à 10³⁸) ; équivalent à environ 25+ diaphragmes photographiques |
| Signature de fichier | ASCII `#?RADIANCE` suivi d'un saut de ligne (0x0A) à l'offset 0 ; `#?RGBE` à l'offset 0 est également valide et largement produit |
| Compression | Codage par plages (RLE) adaptatif des lignes de balayage ; le stockage de lignes de balayage brutes (non compressées) est également autorisé par la spécification |
| Format d'en-tête | Bloc de variables clé=valeur en ASCII simple (FORMAT, EXPOSURE, COLORCORR, PRIMARIES, SOFTWARE, etc.) terminé par une ligne vide |
| Ligne de résolution | Encode la largeur, la hauteur et l'orientation comme par ex. `-Y 512 +X 1024` ; les quatre combinaisons de retournement/rotation sont prises en charge |
| Encodages de couleur | `32-bit_rle_rgbe` (RGB linéaire, par défaut) et `32-bit_rle_xyze` (variante de luminance CIE XYZ), sélectionnés via le champ d'en-tête `FORMAT` |
| Type MIME | `image/vnd.radiance` (enregistré auprès de l'IANA) ; `image/x-hdr` est une alternative informelle largement utilisée |
| Ordre des octets | Neutre vis-à-vis du boutisme (endianness) ; les données de pixels consistent en des octets individuels stockés par pixel sans champs d'entiers multi-octets |
| Taille de fichier typique | 1 Mo - 30 Mo ; les cartes d'environnement HDRI panoramiques à des résolutions telles que 8192×4096 atteignent la plage supérieure |
| Limite de dimensions | Aucune limite matérielle de format ; la largeur et la hauteur sont stockées sous forme d'entiers décimaux simples dans la ligne d'en-tête de résolution |
| Espace colorimétrique | Lumière linéaire sans courbe gamma intégrée ; les champs d'en-tête EXPOSURE et COLORCORR portent des métadonnées de correction relatives à la scène |
| Canal alpha | Non pris en charge ; ni l'encodage RGBE ni l'encodage XYZE n'incluent de plan de transparence ou alpha |
| Précision par canal | ~8 bits de précision relative par canal en raison de l'exposant partagé ; la précision absolue dépend de la valeur d'exposition de la scène |
| Extension historique | `.pic` était utilisé dans le système d'éclairage Radiance original ; `.hdr` est devenu dominant à mesure que le format s'est étendu aux outils d'imagerie et de 3D |
| Publié | 1985-1989 (Radiance lighting simulation system); .pic originally, later .hdr |
| Dernière version | RGBE/XYZE encoding (stable; format essentially unchanged) |
| Standard ouvert | Oui · libre de droits |
| Spécification | floyd.lbl.gov |
Conversions HDR
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers HDR.