OpenEXR-billede (.exr)
Academy StandardOpenEXR er et professionelt HDR-billedformat, der bruges i film- og VFX-arbejdsgange. Det understøtter 16-bit half- og 32-bit flydende komma-pixels med flere kanaler og lag.
Undersøgelse og metadata
Operativsystemer og filanalysatorer identificerer EXR-filer ved at inspicere den indledende binære bytesekvens:
Byte-niveau Header-signatur (Magic Bytes)
Operativsystemer og filanalysatorer identificerer EXR-filer ved at inspicere den indledende binære bytesekvens:
HEX-SIGNATUR (OFFSET 0):
76 2F 31 01ASCII-REPRÆSENTATION: v/1.
Standardisering: Academy Software Foundation (ASWF) Open Standard
Tekniske specifikationer
| Containerarkitektur | Udvidelig chunkbaseret beholder med understøttelse af vilkårlige kanaler, dele og dybe datalag |
| Komprimering | PIZ (wavelet), ZIP/ZIPS, RLE, B44/B44A, DWAA/DWAB (tabsgivende DCT) og ukomprimeret |
| Byte-rækkefølge | Little-Endian-byteorden (Intel x86) |
| Farverum | Lineær ACEScg, ACES2065-1, Lineær Rec.709, Vilkårlige kromaticitetskoordinater |
| Kanaler og struktur | Vilkårlige kanalnavne (R, G, B, A, Z-depth, Normal, WorldPos, MotionVectors, Cryptomatte) |
| Maks. dimensioner | Praktisk talt ubegrænset (understøtter tiled deep zoom og lærredsstørrelser på flere gigapixels) |
| Gennemsigtighed | Fuld alfakanal med flydende komma samt volumetriske samples til dybdekompositering |
| Streaming og progressiv | Streaming af scanlinjer eller tile-chunks giver hurtig delvis aflæsning af frames og proxy-rendering |
Teknisk sammenligningsmatrix: EXR sammenlignet med konkurrenterne
| Teknisk attribut | EXR (Aktuel) | HDR | TIFF | PNG |
|---|---|---|---|---|
| Dynamisk omfang | 16-bit half & 32-bit float lineær | 8-bit delt eksponent (RGBE) | Heltal 8/16-bit eller 32-bit float | Standard 8-bit / 16-bit heltal |
| Flerkanalspas | Ubegrænsede navngivne kanaler og dele | Kun RGB | Begrænset lagunderstøttelse | Kun RGBA |
| Brancheadoption | Udbredt i arbejdsgange inden for visuelle effekter og 3D-produktion | Ældre 3D-belysning / panorama | Prepress & fotografi | Understøttelsen varierer fra program til program. |
| Farvestyring | ACES & OpenColorIO indbygget integration | Ad-hoc gamma / lineær | ICC-profilmærker | sRGB / ICC-mærker |
Almindelige korruptionstilstande og hex-gendannelsesvejledning
Billedet gengives helt mørkt eller udbrændt med overeksponerede, kridhvide områder.
Grundlæggende årsag: Manglende lineær-til-sRGB skærmtransformation eller forkert tildeling af ACES-farverum.
Gendannelse: Anvend en ACEScg- eller lineær-til-sRGB-tonakurvetransformation i File2File.app HDR Viewer.
Sikkerhedsanalyse og parser-angrebsvektorer
Komplekse chunk-baserede OpenEXR-analysatorer skal strengt validere kanaldefinitioner og tile-grænser for at forhindre hukommelsessikkerhedsproblemer.
Kendte angrebsvektorer
- Heltalsoverløb i beregningen af flerkanalsbufferens skridtlængde i libopenexr.
- Læsning uden for heapens grænser under dekomprimering af PIZ- eller DWAA-komprimeret strøm.
- Nægtelse af tjeneste (DoS) gennem dybt indlejret header-rekursion med flere dele.
Defensive bedste praksisser: Dekod EXR-filer ved hjælp af hukommelsessikre, sandbox-isolerede WebAssembly-builds med strenge flisedimensiongrænser.
Historisk oprindelse og milepæle
Vigtige fordele og styrker
- Indbygget understøttelse af 16-bit half-float (FP16) og 32-bit float (FP32) bevarer ekstrem luminans fra direkte sol til mørke skygger.
- Arbitrær arkitektur med flere kanaler indkapsler alle 3D-renderingspas (beauty, diffuse, specular, depth, cryptomatte) i en enkelt fil.
- DWAA og DWAB er tabsgivende codecs, der er udviklet til visuel effektiv billedkomprimering; synlige forskelle kan være små eller tydelige afhængigt af indstillinger og indhold.
Tekniske begrænsninger og ulemper
- Betydelige filstørrelser ved lagring af ukomprimerede 4K/8K 32-bit renderinger med flere lag.
- Højt forbrug af CPU og hukommelse under dekomprimering af flere kanaler i forbruger-software.
- Kræver farvestyringstransformationer (ACES eller OCIO) for at blive vist korrekt på standard sRGB-skærme.
Interessante tekniske fakta
- Industrial Light & Magic opfandt 16-bit 'half' flydende komma-datatypen specifikt til OpenEXR-formatet.
- De første fire magic bytes i enhver EXR-fil er 0x76 0x2F 0x31 0x01, hvilket i ASCII oversættes til 'v/1\x01'.
- OpenEXR understøtter 'Deep Data', hvor en enkelt pixel gemmer flere farve- og dybdeprover på forskellige afstande gennem semitransparent røg og skyer.
Ofte stillede tekniske spørgsmål
Hvorfor bruges OpenEXR i nogle VFX-arbejdsgange?
Det bevarer HDR-billeddata med høj præcision og understøtter flere kanaler, dele og dybdeinformation til compositing.
Hvad er forskellen mellem half float og float i EXR?
Half float bruger 16 bits pr. farvekanal, hvilket tilbyder 30 trin af dynamisk omfang ved halvdelen af filstørrelsen i forhold til fuld 32-bit float, hvilket gør det til branchens favorit til beautyrenderinger.
Hvordan kan jeg konvertere EXR til standard PNG eller JPG?
Du kan konvertere EXR-filer til tone-mappede PNG- eller JPG-billeder ved hjælp af File2File.app direkte inde i din webbrowser.