OpenEXR-bild (.exr)
Öppen StandardOpenEXR är ett professionellt HDR-bildformat som används i film- och VFX-arbetsflöden. Det stöder 16-bitars half- och 32-bitars flyttalspixlar med flera kanaler och lager.
Granska och metadata
Operativsystem och filanalysverktyg identifierar EXR-filer genom att granska den inledande sekvensen av binära byte:
Signatur i filhuvudet på bytenivå (magiska byte)
Operativsystem och filanalysverktyg identifierar EXR-filer genom att granska den inledande sekvensen av binära byte:
HEX-SIGNATUR (OFFSET 0):
76 2F 31 01ASCII-REPRESENTATION: v/1.
Standardisering: Öppen standard från Academy Software Foundation (ASWF)
Tekniska specifikationer
| Containerarkitektur | Utökningsbar blockbaserad behållare med stöd för valfria kanaler, delar och djupdataskikt |
| Komprimering | PIZ (vågtransform), ZIP/ZIPS, RLE, B44/B44A, DWAA/DWAB (DCT med förlustkomprimering) och okomprimerat |
| Byteordning | Little-endian (Intel x86) |
| Färgrymder | Linjär ACEScg, ACES2065-1, Linjär Rec.709, Valfria kromaticitetskoordinater |
| Kanaler och struktur | Valfria kanalnamn (R, G, B, A, Z-depth, Normal, WorldPos, MotionVectors, Cryptomatte) |
| Maximala dimensioner | I praktiken obegränsat (stöder tiled deep zoom och bildytor på flera gigapixlar) |
| Transparens | Full alfakanal med flyttal och volymbaserade samplingsmatriser för djupkompositering |
| Strömning och progressiv visning | Strömning av skanningslinje- eller tile-block möjliggör snabb läsning av delar av bildrutor och proxyåtergivning |
Teknisk jämförelsematris: EXR jämfört med konkurrenter
| Tekniskt attribut | EXR (Aktuell) | HDR | TIFF | PNG |
|---|---|---|---|---|
| Dynamiskt omfång | Linjärt 16-bitars half och 32-bitars float | 8-bitars delad exponent (RGBE) | 8/16-bitars heltal eller 32-bitars float | Standard 8-bit / 16-bit heltal |
| Renderingspass med flera kanaler | Obegränsat antal valfritt namngivna kanaler och delar | Endast RGB | Begränsat lagerstöd | Endast RGBA |
| Branschens användning | Vanligt i arbetsflöden för visuella effekter och 3D-produktion | Äldre format för 3D-belysning och panoramabilder | Prepress och fotografi | Stödet varierar mellan program. |
| Färgstyrning | Inbyggd integrering med ACES och OpenColorIO | Ad-hoc gamma / linjär | ICC-profiltaggar | sRGB / ICC-taggar |
Vanliga skadeorsaker och hex-återställningsguide
Bilden återges helt mörk eller utfrätt med kritvita fläckar.
Grundorsak: Transformering från linjärt ljus till sRGB saknas eller så har fel ACES-färgrymd tilldelats.
Återställning: Tillämpa ACEScg- eller Linear-to-sRGB-tonkurvetransformering i File2File.app HDR Viewer.
Säkerhetsanalys och attackvektorer för tolkar
Komplexa, blockbaserade OpenEXR-tolkar måste noggrant kontrollera kanaldefinitioner och tile-gränser för att förebygga minnessäkerhetsproblem.
Kända attackvektorer
- Heltalsspill vid beräkning av buffertsteg för flera kanaler i libopenexr.
- Heap-läsning utanför tilldelat minne vid dekomprimering av PIZ- eller DWAA-komprimerade strömmar.
- Tjänsteavbrott till följd av rekursion i djupt nästlade flerdelsblockhuvuden.
Rekommenderade skyddsåtgärder: Avkoda EXR-filer med minnessäkra WebAssembly-versioner i en sandlåda och sätt strikta gränser för tile-mått.
Historiskt ursprung och milstolpar
Viktiga fördelar
- Inbyggt stöd för 16-bitars halvtalsformat (FP16) och 32-bitars flyttal (FP32) bevarar extrema luminansnivåer från direkt solljus till mörka skuggor.
- Den flexibla flerkanalsarkitekturen samlar alla 3D-renderingspass (beauty, diffuse, specular, depth, cryptomatte) i en enda fil.
- DWAA och DWAB är kodekar med förlust som utformats för visuell komprimering; synliga skillnader kan vara små eller tydliga beroende på inställningar och innehåll.
Tekniska begränsningar
- Okomprimerade 32-bitars renderingspass i flera lager vid 4K/8K ger stora filer.
- Hög processor- och minnesbelastning vid dekomprimering av flera kanaler i konsumentprogram.
- Kräver färghantering (ACES eller OCIO) för korrekt återgivning på vanliga sRGB-skärmar.
Intressant teknisk kuriosa
- Industrial Light & Magic uppfann 16-bitars flyttalstypen "half" specifikt för OpenEXR-formatet.
- De fyra första signaturbyten i varje EXR-fil är 0x76 0x2F 0x31 0x01, vilket motsvarar ASCII-strängen "v/1\x01".
- OpenEXR stöder ”Deep Data”, där en enda pixel lagrar flera färg- och djupvärden på olika avstånd, till exempel genom halvtransparent rök och moln.
Vanliga tekniska frågor
Varför används OpenEXR i vissa VFX-arbetsflöden?
Det bevarar HDR-bilddata med hög precision och stöder flera kanaler, delar och djupdata för kompositering.
Vad är skillnaden mellan half float och float i EXR?
Half float använder 16 bitar per färgkanal och ger 30 stegs dynamiskt omfång vid halva filstorleken jämfört med 32-bitars float. Därför föredras det i branschen för beauty-pass.
Hur kan jag konvertera EXR till standard-PNG eller JPG?
Du kan konvertera EXR-filer till tonmappade PNG- eller JPG-bilder med File2File.app direkt i din webbläsare.