OpenEXR Image (.exr)
Academy SzabványAz OpenEXR (EXR) a film- és vizuális effektusok (VFX) iparágának szabványos nagy dinamikatartományú (HDR) képformátuma, amely végtelen számú rétegen keresztül támogatja a 16 bites félepontos és a 32 bites lebegőpontos képpontokat.
Vizsgálat és metaadatok
Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) EXR fájlokat:
Bájt-szintű fejléc aláírás (Magic Bytes)
Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) EXR fájlokat:
HEX ALÁÍRÁS (ELTOLÁS 0):
76 2F 31 01ASCII REPREZENTÁCIÓ: v/1.
Szabványosítás: Academy Software Foundation (ASWF) Open Standard
Műszaki specifikációk
| Konténer architektúra | Extensible chunk-based container supporting arbitrary channels, parts, and deep data layers |
| Tömörítés | PIZ (wavelet), ZIP/ZIPS, RLE, B44/B44A, DWAA/DWAB (lossy DCT), and uncompressed |
| Bájtsorrend | Little-Endian (Intel x86) |
| Színterek | Linear ACEScg, ACES2065-1, Linear Rec.709, Arbitrary chromaticity coordinates |
| Csatornák és struktúra | Arbitrary channel names (R, G, B, A, Z-depth, Normal, WorldPos, MotionVectors, Cryptomatte) |
| Max. méretek | Practically unlimited (supports tiled deep zoom and multi-gigapixel canvas bounds) |
| Átlátszóság | Full floating-point alpha channel and deep-compositing volumetric sample arrays |
| Streaming és progresszív | Scanline or tiled chunk streaming enables fast partial-frame reads and proxy rendering |
Műszaki összehasonlító mátrix: EXR vs Versenytársak
| Technikai attribútum | EXR (Jelenlegi) | HDR | TIFF | PNG |
|---|---|---|---|---|
| Dinamikatartomány | 16 bites félpontos és 32 bites lebegőpontos lineáris | 8 bites megosztott exponens (RGBE) | Egész 8/16 bites vagy 32 bites lebegőpontos | Standard 8 bites / 16 bites egész |
| Többcsatornás menetek | Korlátlan tetszőlegesen elnevezett csatorna és rész | Csak RGB | Korlátozott rétegtámogatás | Csak RGBA |
| Ipari elterjedtség | 100%-ban univerzális VFX és hollywoodi 3D szabvány | Örökölt 3D világítás / panoráma | Nyomdai előkészítés és fotózás | Univerzális webszabvány |
| Színkezelés | ACES és OpenColorIO natív integráció | Ad-hoc gamma / lineáris | ICC profil címkék | sRGB / ICC címkék |
Gyakori sérülési módok és hexadecimális helyreállítási útmutató
A kép teljesen sötét vagy kiégett, nukleáris fehér foltokkal jelenik meg.
Kiváltó ok: Hiányzó lineáris-sRGB megjelenítési transzformáció vagy helytelen ACES színtér-hozzárendelés.
Helyreállítás: Alkalmazzon ACEScg vagy Linear-to-sRGB tónusgörbe-transzformációt a File2File HDR Viewerben.
Biztonsági elemzés és elemző (parser) támadási vektorok
A komplex, blokkalapú OpenEXR elemzőknek szigorúan ellenőrizniük kell a csatornadefiníciókat és a csempehatárokat a memóriabiztonsági problémák elkerülése érdekében.
Ismert támadási vektorok
- Egész túlcsordulás a többcsatornás pufferlépés-számításban a libopenexr könyvtárban.
- Halom (heap) túlcímzéses olvasás PIZ vagy DWAA tömörített adatfolyam dekompressziója során.
- Szolgáltatásmegtagadás (DoS) a mélyen egymásba ágyazott, többrészes blokkfejléc-rekurzió miatt.
Védekező Legjobb Gyakorlatok:
Történeti háttér és mérföldkövek
Főbb előnyök
- A natív 16 bites félpontos (FP16) és 32 bites lebegőpontos (FP32) támogatás megőrzi az extrém fényességet a közvetlen naptól a sötét árnyékokig.
- A tetszőleges csatornaarchitektúra egyetlen fájlba foglalja az összes 3D-s renderelési menetet (beauty, diffuse, specular, depth, cryptomatte).
- Az iparágvezető DWAA/DWAB és PIZ tömörítési algoritmusok hihetetlen tömörítést érnek el vizuális veszteség nélkül.
Technikai korlátok és hátrányok
- Jelentős fájlméret tömörítetlen, többrétegű 4K/8K 32 bites renderelési menetek mentésekor.
- Magas CPU- és memóriaterhelés a töbccsatornás dekompresszió során a felhasználói szoftverekben.
- Színkezelési transzformációkat (ACES vagy OCIO) igényel a helyes megjelenítéshez a standard sRGB kijelzőkön.
Érdekes technikai tudnivalók
- Az Industrial Light & Magic kifejezetten az OpenEXR formátumhoz találta fel a 16 bites „half" lebegőpontos adattípust.
- Minden EXR fájl első négy varázsbájtja a 0x76 0x2F 0x31 0x01, ami ASCII kódolásban 'v/1\x01'-nek felel meg.
- Az OpenEXR támogatja a „Deep Data" (mély adatok) technológiát, ahol egyetlen képpont több szín- és mélységmintát tárol különböző távolságokban a félig áttetsző füstön és felhőkön keresztül.
Gyakran Ismételt Műszaki Kérdések
Miért az OpenEXR a standard formátum a hollywoodi vizuális effektek (VFX) terén?
Mert 16 és 32 bites lebegőpontos fényértékeket tárol végtelen dinamikatartománnyal, többrétegű 3D renderelési fázisokkal és a fotorealisztikus vizuális effektekhez szükséges mély kompozíciós információkkal.
Mi a különbség a half float és a float között az EXR-ben?
A half float csatornánként 16 bitet használ, ami 30 fényérték (F-stop) dinamikatartományt kínál a teljes 32 bites float fájlméret feléért, így ez a szépségrenderelések (beauty render) kedvenc iparági formátuma.
Hogyan alakíthatok át EXR-t standard PNG vagy JPG formátumba?
Az EXR fájlokat tónusleképezett (tone-mapped) PNG vagy JPG képekké konvertálhatod a File2File.app segítségével, közvetlenül a webböngészödben.