Obraz OpenEXR (.exr)
Academy StandardOpenEXR (EXR) je industrijski standardni slikovni format visokega dinamičnega območja (HDR) za filmsko industrijo in industrijo vizualnih učinkov (VFX), ki podpira 16-bitne polovične in 32-bitne plavajoče slikovne pike v neskončnih plasteh.
Pregled in metapodatki
Operacijski sistemi in analizatorji datotek identificirajo datoteke EXR s pregledom vodilnega binarnega zaporedja bajtov:
Podpis glave na ravni bajtov (Čarobni bajti)
Operacijski sistemi in analizatorji datotek identificirajo datoteke EXR s pregledom vodilnega binarnega zaporedja bajtov:
PODPIS HEX (ZAMIK 0):
76 2F 31 01REPREZENTACIJA ASCII: v/1.
Standardizacija: Academy Software Foundation (ASWF) Open Standard
Tehnične specifikacije
| Arhitektura vsebnika | Extensible chunk-based container supporting arbitrary channels, parts, and deep data layers |
| Stiskanje | PIZ (wavelet), ZIP/ZIPS, RLE, B44/B44A, DWAA/DWAB (lossy DCT), and uncompressed |
| Vrstni red bajtov | Little-Endian (Intel x86) |
| Barvni prostori | Linear ACEScg, ACES2065-1, Linear Rec.709, Arbitrary chromaticity coordinates |
| Kanali in struktura | Arbitrary channel names (R, G, B, A, Z-depth, Normal, WorldPos, MotionVectors, Cryptomatte) |
| Največje dimenzije | Practically unlimited (supports tiled deep zoom and multi-gigapixel canvas bounds) |
| Prosojnost | Full floating-point alpha channel and deep-compositing volumetric sample arrays |
| Pretočno in progresivno predvajanje | Scanline or tiled chunk streaming enables fast partial-frame reads and proxy rendering |
Tehnična primerjalna matrika: EXR proti konkurenci
| Tehnični atribut | EXR (Trenutno) | HDR | TIFF | PNG |
|---|---|---|---|---|
| Dinamični obseg | 16-bitni polovični in 32-bitni linearni s plavajočo vejico | 8-bitni deljeni eksponent (RGBE) | Celoštevilski 8/16-bitni ali 32-bitni s plavajočo vejico | Standardni 8-bitni / 16-bitni celi števki |
| Večkanalni pasovi | Neomejeni poljubno poimenovani kanali in deli | Samo RGB | Omejena podpora za plasti | Samo RGBA |
| Industrijska posvojitev | 100-odstotni univerzalni standard za VFX in hollywoodski 3D | Starejša 3D osvetlitev / panorama | Priprava za tisk in fotografija | Univerzalni spletni standard |
| Upravljanje barv | Izvorna integracija ACES in OpenColorIO | Ad-hoc gama / linearno | Oznake profilov ICC | Oznake sRGB / ICC |
Pogosti načini okvar in vodič za heksadecimalno obnovo
Slika se izriše popolnoma temna ali preosvetljena z jedrsko belimi zapatami.
Glavni vzrok: Manjkajoča transformacija zaslona iz linearnega v sRGB ali napačna dodelitev barvnega prostora ACES.
Sanacija: Uporabite krivuljo tona ACEScg ali Linear-to-sRGB v pregledovalniku File2File HDR Viewer.
Varnostna analiza in napadalni vektorji razčlenjevalnika
Kompleksni razčlenjevalniki OpenEXR, ki temeljijo na kosih (chunks), morajo strogo preverjati definicije kanalov in meje ploščic (tiles), da preprečijo težave z varnostjo pomnilnika.
Znani vektorji napada
- Prekoračitev celega števila pri izračunu razmika med medpomnilniki z več kanali v knjižnici libopenexr.
- Bralni dostop zunaj meja pomnilnika (heap out-of-bounds read) med dekompresijo stisnjenega pretoka PIZ ali DWAA.
- Zavrnitev storitve (DoS) prek globoko ugnezdene rekurzije glave večdelnih kosov.
Obrambne najboljše prakse:
Zgodovinski izvor in mejniki
Ključne prednosti
- Izvorna podpora za 16-bitne polovične (FP16) in 32-bitne plavajoče (FP32) vrednosti ohranja izjemno svetlost od neposrednega sončnega sevanja do temnih senc.
- Poljubna večkanalna arhitektura združuje vse pasove 3D upodabljanja (beauty, diffuse, specular, depth, cryptomatte) v eni datoteki.
- Vodilna algoritma stiskanja DWAA/DWAB in PIZ v industriji dosežeta neverjetno stiskanje brez vizualne izgube.
Tehnične omejitve in slabosti
- Velike velikosti datotek pri shranjevanju nestisnjenih večplastnih 3D upodobljenih pasov v ločljivosti 4K/8K in 32-bitni globini.
- Visoka obremenitev CPE in pomnilnika med večkanalnim razširjanjem v programski opremi za končne uporabnike.
- Za pravilen prikaz na standardnih zaslonih sRGB zahteva transformacije upravljanja barv (ACES ali OCIO).
Zanimive tehnične malenkosti
- Industrial Light & Magic je izumil 16-bitni podatkovni tip s plavajočo vejico 'half' posebej za format OpenEXR.
- Prve štiri čarobne bajte (magic bytes) vsake datoteke EXR so 0x76 0x2F 0x31 0x01, kar v ASCII kodiranju pomeni 'v/1\x01'.
- OpenEXR podpira 'globoke podatke' (Deep Data), kjer posamezna slikovna pika hrani več vzorcev barv in globine na različnih razdaljah skozi polprozoren dim in oblake.
Pogosta tehnična vprašanja
Zakaj je OpenEXR standardni format za hollywoodske vizualne učinke?
Ker shranjuje 16-bitne in 32-bitne plavajoče svetlobne vrednosti z neskončnim dinamičnim razponom, večplastne prehodne pasove 3D upodabljanja in globoke informacije o sestavljanju, ki so potrebne za fotorealistične vizualne učinke.
Kakšna je razlika med polovičnim in polnim številom s plavajočo vejico v formatu EXR?
Polovično število s plavajočo vejico uporablja 16 bitov na barvni kanal, kar ponuja 30 stopenj dinamičnega razpona pri polovični velikosti datoteke v primerjavi s polnim 32-bitnim formatom, zaradi česar je najljubši v panogi za lepotne upodobitve.
Kako lahko pretvorim EXR v standardni PNG ali JPG?
Datoteke EXR lahko pretvorite v slike PNG ali JPG s tonsko stisnjenimi barvami z uporabo File2File.app neposredno v spletnem brskalniku.