OpenEXR High Dynamic Range (.exr)

Open Standaard

OpenEXR (EXR) is een professioneel high dynamic range (HDR)-afbeeldingsformaat dat wordt gebruikt in film- en visual-effects-workflows. Het ondersteunt 16-bits half-precision en 32-bits drijvende-komma-pixels, meerdere kanalen en lagen.

Inspecteren en metadata

Besturingssystemen en bestandsanalysators herkennen EXR-bestanden aan de hand van de eerste binaire bytesequentie:

Selecteer of sleep bestanden hierheen

Privé - bestanden verlaten uw apparaat niet

of plak Ctrl+V
Privacygarantie zonder netwerktransmissie: 0 bytes geüpload naar externe servers. Alle verwerking vond lokaal plaats in uw browser-sandbox.

Bestandshandtekening op byteniveau (magic bytes)

Besturingssystemen en bestandsanalysators herkennen EXR-bestanden aan de hand van de eerste binaire bytesequentie:

HEX-HANDTEKENING (OFFSET 0):

76 2F 31 01

ASCII-WEERGAVE: v/1.

Standaardisatie: Open standaard van de Academy Software Foundation (ASWF)

Technische specificaties

ContainerarchitectuurUitbreidbare container op basis van chunks die willekeurige kanalen, onderdelen en diepe datalagen ondersteunt
CompressiePIZ (wavelet), ZIP/ZIPS, RLE, B44/B44A, DWAA/DWAB (lossy DCT) en niet-gecomprimeerd
Bytevolgorde (endianness)Little-Endian (Intel x86)
KleurruimtenLineair ACEScg, ACES2065-1, Lineair Rec.709, Willekeurige chromaticiteitscoördinaten
Kanalen en structuurWillekeurige kanaalnamen (R, G, B, A, Z-depth, Normal, WorldPos, MotionVectors, Cryptomatte)
Maximale afmetingenPraktisch onbeperkt (ondersteunt getegelde diepe zoom en canvassen van meerdere gigapixels)
TransparantieVolledig alfakanaal met drijvende komma en arrays met volumetrische samples voor diepe composities
Streaming en progressiefStreaming van scanline- of tegelchunks maakt het snel lezen van gedeeltelijke frames en proxyweergave mogelijk

Technische vergelijkingsmatrix: EXR versus concurrenten

Technisch kenmerkEXR (Huidig)HDRTIFFPNG
Dynamisch bereikLineair, 16-bits half-float en 32-bits float8-bits gedeelde exponent (RGBE)Gehele getallen van 8 of 16 bits, of 32-bits floatStandaard gehele getallen van 8 of 16 bits
Passes met meerdere kanalenOnbeperkte willekeurig benoemde kanalen en onderdelenAlleen RGBBeperkte laagondersteuningAlleen RGBA
Gebruik in de brancheWordt veel gebruikt in visuele effecten en 3D-productieworkflowsVerouderd formaat voor 3D-belichting en panorama'sPrepress en fotografieOndersteuning verschilt per software.
KleurbeheerIngebouwde integratie van ACES en OpenColorIOGamma of lineair, zonder vaste standaardICC-profieltagssRGB- of ICC-tags

Veelvoorkomende beschadigingen en gids voor hex-herstel

De afbeelding wordt volledig donker of overbelicht weergegeven, met felwitte vlekken.

Oorzaak: Ontbrekende lineair-naar-sRGB-weergavetransformatie of onjuiste toewijzing van de ACES-kleurruimte.

Herstel: Pas een ACEScg- of lineair-naar-sRGB-tooncurvetransformatie toe in de HDR Viewer van File2File.app.

Beveiligingsanalyse en aanvalsvectoren voor parsers

Complexe OpenEXR-parsers op basis van chunks moeten kanaaldefinities en tegelgrenzen strikt valideren om problemen met geheugenveiligheid te voorkomen.

Bekende aanvalsvectoren

  • Integeroverflow bij de berekening van de bufferstride voor meerdere kanalen in libopenexr.
  • Heap-out-of-bounds-leesbewerking tijdens de decompressie van met PIZ of DWAA gecomprimeerde streams.
  • Denial of service door diep geneste recursie van chunkheaders in bestanden met meerdere onderdelen.

Aanbevolen beveiligingspraktijken: Decodeer EXR-bestanden met geheugenveilige WebAssembly-builds in een afgeschermde omgeving en stel strikte limieten in voor de tegelafmetingen.

Historische oorsprong en mijlpalen

2020OpenEXR 3.0 uitgebracht onder de Academy Software Foundation, waarbij multithreading is gemoderniseerd.
2013OpenEXR 2.0 introduceert compositing met Deep Data en afbeeldingen die uit meerdere onderdelen bestaan.
2003Industrial Light & Magic brengt OpenEXR als open source uit onder een gewijzigde BSD-licentie na gebruik in Harry Potter.
1999Ontwikkeld door ILM-ingenieurs Florian Kainz, Rod Bogart en Drew Hess om 8-bits Cineon/DPX te vervangen.

Belangrijkste voordelen

  • Ondersteuning voor 16-bits half-float (FP16) en 32-bits float (FP32) behoudt een groot luminantiebereik, van direct zonlicht tot donkere schaduwen.
  • De architectuur met willekeurige kanalen omvat alle 3D-renderpasses (beauty, diffuse, specular, depth, cryptomatte) in één bestand.
  • DWAA en DWAB zijn codecs met verlies die zijn ontworpen voor efficiënte afbeeldingscompressie met behoud van de visuele kwaliteit; zichtbare verschillen kunnen, afhankelijk van de instellingen en inhoud, subtiel of duidelijk zijn.

Technische beperkingen

  • Aanzienlijke bestandsgrootten bij het opslaan van ongecomprimeerde 32-bits renderpasses in 4K/8K met meerdere lagen.
  • Hoge CPU- en geheugenbelasting tijdens decompressie van meerdere kanalen in consumentensoftware.
  • Vereist kleurbeheertransformaties (ACES of OCIO) om correct te worden weergegeven op standaard sRGB-schermen.

Interessante technische weetjes

  • Industrial Light & Magic heeft het 16-bits 'half' drijvende-komma-gegevenstype specifiek uitgevonden voor het OpenEXR-formaat.
  • De eerste vier magic bytes van elk EXR-bestand zijn 0x76 0x2F 0x31 0x01, wat in ASCII overeenkomt met 'v/1\x01'.
  • OpenEXR ondersteunt 'Deep Data', waarbij één enkele pixel meerdere kleur- en dieptemonsters opslaat op verschillende afstanden door halfdoorzichtige rook en wolken.

Veelgestelde technische vragen

Waarom wordt OpenEXR gebruikt in sommige VFX-workflows?

Het behoudt HDR-afbeeldingsgegevens met hoge precisie en ondersteunt meerdere kanalen, onderdelen en deep data die in compositingworkflows worden gebruikt.

Wat is het verschil tussen half float en float in EXR?

Half-float gebruikt 16 bits per kleurkanaal en biedt een dynamisch bereik van 30 stops met de helft van de bestandsgrootte van 32-bits float. Daardoor is het een populaire keuze voor beauty-renders.

Hoe kan ik EXR converteren naar standaard PNG of JPG?

U kunt EXR-bestanden met toonmapping converteren naar PNG- of JPG-afbeeldingen met File2File.app, rechtstreeks in uw browser.