Image OpenEXR (.exr)
Norme StandardOpenEXR est un format d’image HDR professionnel utilisé dans les flux de production cinématographique et d’effets visuels. Il prend en charge les pixels flottants half 16 bits et 32 bits, avec plusieurs canaux et couches.
Inspection et métadonnées
Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers EXR en inspectant leur séquence initiale d'octets binaires :
Signature d'en-tête au niveau des octets (octets magiques)
Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers EXR en inspectant leur séquence initiale d'octets binaires :
SIGNATURE HEXADÉCIMALE (DÉCALAGE 0) :
76 2F 31 01REPRÉSENTATION ASCII : v/1.
Normalisation : Norme ouverte de l'Academy Software Foundation (ASWF)
Spécifications techniques
| Architecture de conteneur | Conteneur extensible basé sur des blocs prenant en charge des canaux, des parties et des couches de données profondes de toute nature |
| Compression | PIZ (ondelette), ZIP/ZIPS, RLE, B44/B44A, DWAA/DWAB (DCT avec pertes) et sans compression |
| Ordre des octets | Petit-boutiste (Intel x86) |
| Espaces colorimétriques | Linéaire ACEScg, ACES2065-1, Linéaire Rec.709, Coordonnées de chromaticité arbitraires |
| Canaux et structure | Noms de canaux arbitraires (R, G, B, A, profondeur Z, Normal, WorldPos, MotionVectors, Cryptomatte) |
| Dimensions maximales | Pratiquement illimité (prend en charge le zoom profond en mosaïque et les limites de canevas multi-gigapixels) |
| Transparence | Canal alpha à virgule flottante complet et tableaux d'échantillons volumétriques de composition profonde |
| Prise en charge du traitement en continu | La diffusion en flux de blocs de lignes de balayage ou de mosaïques permet des lectures rapides d'images partielles et un rendu de prévisualisation |
Matrice de comparaison technique : EXR face aux concurrents
| Attribut technique | EXR (Actuel) | HDR | TIFF | PNG |
|---|---|---|---|---|
| Plage dynamique | Demi-flottant linéaire 16 bits et flottant 32 bits | Exposant partagé 8 bits (RGBE) | Entier 8/16 bits ou flottant 32 bits | Entier standard 8 bits / 16 bits |
| Passes multicanaux | Nombre illimité de canaux et de parties aux noms arbitraires | RVB uniquement | Prise en charge limitée des calques | RVBA uniquement |
| Adoption par l'industrie | Norme universelle pour les effets visuels et la 3D à Hollywood | Éclairage 3D / panorama hérité | Pré-presse et photographie | La prise en charge varie selon le logiciel. |
| Gestion des couleurs | Intégration native ACES et OpenColorIO | Gamma / linéaire ad hoc | Balises de profil ICC | Balises sRGB / ICC |
Modes de corruption courants et guide de restauration hexadécimale
L’image apparaît complètement sombre ou surexposée, avec des zones blanches brûlées.
Cause initiale: Transformation d'affichage linéaire vers sRGB manquante ou attribution incorrecte de l'espace colorimétrique ACES.
Récupération: Appliquez une transformation de courbe de tonalité ACEScg ou linéaire vers sRGB dans la visionneuse HDR File2File.app.
Analyse de sécurité et vecteurs d'attaque de l'analyseur
Les analyseurs OpenEXR complexes basés sur des blocs doivent valider strictement les définitions de canaux et les limites des mosaïques pour éviter les problèmes de sécurité de la mémoire.
Vecteurs d’attaque connus
- Dépassement d'entier dans le calcul du pas de tampon multicanal dans libopenexr.
- Lecture hors limites du tas lors de la décompression d'un flux compressé PIZ ou DWAA.
- Déni de service par récurrence d'en-tête de bloc multipartie profondément imbriquée.
Bonnes pratiques de défense: Décodez les fichiers EXR à l'aide de compilations WebAssembly en bac à sable sécurisées en mémoire avec des limites strictes de dimensions de mosaïque.
Origines historiques et jalons
Principaux avantages
- La prise en charge native des nombres flottants en demi-précision 16 bits (FP16) et en simple précision 32 bits (FP32) préserve les luminances extrêmes, du plein soleil aux ombres profondes.
- L’architecture à canaux arbitraires regroupe dans un seul fichier toutes les passes de rendu 3D (beauté, diffuse, spéculaire, profondeur, cryptomatte).
- Les algorithmes de compression DWAA/DWAB et PIZ, parmi les plus performants du secteur, offrent un taux de compression élevé sans perte visuelle.
Limites techniques
- Tailles de fichiers substantielles lors de l'enregistrement de passes de rendu 32 bits 4K/8K multicouches non compressées.
- Charge processeur et mémoire élevée lors de la décompression multicanal dans les logiciels grand public.
- Nécessite des transformations de gestion des couleurs (ACES ou OCIO) pour s'afficher correctement sur les écrans sRGB standard.
Faits intéressants
- Industrial Light & Magic a inventé le type de données à virgule flottante « half » de 16 bits spécifiquement pour le format OpenEXR.
- Les quatre premiers octets magiques de chaque fichier EXR sont 0x76 0x2F 0x31 0x01, ce qui se traduit en ASCII par 'v/1\x01'.
- OpenEXR prend en charge les « données profondes » (Deep Data), qui permettent à un seul pixel de stocker plusieurs échantillons de couleur et de profondeur à différentes distances, par exemple à travers de la fumée et des nuages semi-transparents.
Foire aux questions techniques
Pourquoi OpenEXR est-il utilisé dans certains flux d’effets visuels ?
Il conserve des données HDR de haute précision et prend en charge plusieurs canaux, parties et données profondes pour le compositing.
Quelle est la différence entre la demi-précision et la simple précision dans EXR ?
Le demi-flottant utilise 16 bits par canal de couleur et offre une plage dynamique de 30 diaphragmes pour la moitié de la taille de fichier d'un flottant 32 bits, ce qui en fait le format privilégié du secteur pour les rendus de beauté.
Comment puis-je convertir un EXR en PNG ou JPG standard ?
Vous pouvez convertir des fichiers EXR en images PNG ou JPG mappées par tonalité à l'aide de File2File.app directement dans votre navigateur Web.