OpenEXR-bilde (.exr)
Åpen StandardOpenEXR er et profesjonelt HDR-bildeformat som brukes i film- og VFX-arbeidsflyter. Det støtter 16-bit half- og 32-bit flyttallspiksler med flere kanaler og lag.
Inspeksjon og metadata
Operativsystemer og filanalysatorer identifiserer EXR-filer ved å undersøke den innledende binære bytesekvensen:
Filsignatur på bytenivå (magiske byte)
Operativsystemer og filanalysatorer identifiserer EXR-filer ved å undersøke den innledende binære bytesekvensen:
HEX-SIGNATUR (OFFSET 0):
76 2F 31 01ASCII-REPRESENTASJON: v/1.
Standardisering: Åpen standard fra Academy Software Foundation (ASWF)
Tekniske spesifikasjoner
| Beholderarkitektur | Utvidbar, blokkbasert beholder som støtter vilkårlige kanaler, deler og dype datalag |
| Komprimering | PIZ (bølgetransformasjon), ZIP/ZIPS, RLE, B44/B44A, DWAA/DWAB (tapsbasert DCT) og ukomprimert |
| Bytterekkefølge | Little-endian (Intel x86) |
| Fargerom | Lineær ACEScg, ACES2065-1, Lineær Rec.709, Vilkårlige kromatisitetskoordinater |
| Kanaler og struktur | Vilkårlige kanalnavn (R, G, B, A, Z-dybde, Normal, WorldPos, MotionVectors, Cryptomatte) |
| Maks. dimensjoner | I praksis ubegrenset (støtter flislagt dypzoom og lerretsgrenser på flere gigapiksler) |
| Gjennomsiktighet | Full støtte for alfakanaler med flyttall og volumetriske prøvematrisser for dyp kompositering |
| Strømming og progressiv visning | Strømming av skannelinjer eller flisblokker gir rask lesing av deler av rammen og visning av proxybilder |
Teknisk sammenligningsmatrise: EXR sammenlignet med konkurrenter
| Teknisk attributt | EXR (Gjeldende) | HDR | TIFF | PNG |
|---|---|---|---|---|
| Dynamisk område | Lineær 16-biters halvpresisjon og 32-biters flyttall | 8-bit delt eksponent (RGBE) | Heltall 8/16-bit eller 32-bit flyttall | Standard 8-bit / 16-bit heltall |
| Flerkanalspass | Ubegrensede vilkårlige navngitte kanaler og deler | Kun RGB | Begrenset lagstøtte | Kun RGBA |
| Bransjeadopsjon | Brukes mye i arbeidsflyter for visuelle effekter og 3D-produksjon | Eldre 3D-belysning / panorama | Prepress og fotografi | Støtten varierer mellom programmer. |
| Fargestyring | Innebygd integrasjon med ACES og OpenColorIO | Ad-hoc gamma / lineær | ICC-profilmerker | sRGB / ICC-merker |
Vanlige korrupsjonsmoduser og heksadesimal gjenopprettingsveiledning
Bildet gjengis helt mørkt eller utbrent med atomhvite flekker.
Underliggende årsak: Manglende lineær-til-sRGB-skjermtransform eller feil ACES-fargeromstildeling.
Utbedring: Bruk en ACEScg- eller Linear-to-sRGB-tonekurvetransform i File2File.app HDR Viewer.
Sikkerhetsanalyse og angrepsvektorer mot parsere
Komplekse chunk-baserte OpenEXR-parsere må validere kanaldefinisjoner og flisgrenser strengt for å forhindre minnesikkerhetsproblemer.
Kjente angrepsvektorer
- Heltallsoverflyt ved beregning av flerkanalers buffersteg i libopenexr.
- Lesing utenfor heap-grenser under dekomprimering av PIZ- eller DWAA-komprimert strøm.
- Tjenestenekt gjennom dypt nestet rekursjon i flerdelte chunk-hoder.
Anbefalte sikkerhetstiltak: Dekod EXR-filer ved hjelp av minnesikre WebAssembly-bygg i en sandkasse, med strenge grenser for flisdimensjoner.
Historisk opprinnelse og milepæler
Viktige fordeler
- Innebygd støtte for 16-bits halvt flyttall (FP16) og 32-bits flyttall (FP32) bevarer ekstrem luminans fra direkte sollys til mørke skygger.
- Vilkårlig flerkanalsarkitektur innkapsler alle 3D-gjengivelsespass (beauty, diffuse, specular, depth, cryptomatte) i én enkelt fil.
- DWAA og DWAB er tapsbaserte kodeker for effektiv bildekomprimering; synlige forskjeller kan være små eller tydelige avhengig av innstillinger og innhold.
Tekniske begrensninger og ulemper
- Betydelige filstørrelser ved lagring av ukomprimerte flerlags 4K/8K 32-bits gjengivelsespass.
- Høy CPU- og minnebelastning under flerkanaldekomprimering i forbrukerprogramvare.
- Krever fargestyringstransformer (ACES eller OCIO) for å vises korrekt på standard sRGB-skjermer.
Interessante tekniske fakta
- Industrial Light & Magic fant opp flyttallsdatatypen «half» på 16 bit spesielt for OpenEXR-formatet.
- De fire første magiske byte i hver EXR-fil er 0x76 0x2F 0x31 0x01, som i ASCII tilsvarer 'v/1\x01'.
- OpenEXR støtter 'Deep Data', der en enkelt piksel lagrer flere farge- og dybdeprøver på ulike avstander gjennom halvgjennomsiktig røyk og skyer.
Ofte stilte tekniske spørsmål
Hvorfor brukes OpenEXR i noen VFX-arbeidsflyter?
Det bevarer HDR-bildedata med høy presisjon og støtter flere kanaler, deler og dybdedata for kompositering.
Hva er forskjellen mellom «halvpresisjon» og «enkel presisjon» i EXR?
Halvpresisjon bruker 16 biter per fargekanal og gir 30 trinn dynamisk omfang med halvparten av filstørrelsen til 32-bits flyttall med enkel presisjon. Derfor er det bransjens foretrukne format for beauty-renderinger.
Hvordan kan jeg konvertere EXR til standard PNG eller JPG?
Du kan konvertere EXR-filer til tonekartlagte PNG- eller JPG-bilder ved hjelp av File2File.app direkte i nettleseren din.