OpenEXR-kép (.exr)

Academy Szabvány

Az OpenEXR professzionális HDR-képformátum, amelyet film- és vizuáliseffektus-munkafolyamatokban használnak. Támogatja a 16 bites half és 32 bites lebegőpontos képpontokat, valamint több csatornát és réteget.

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:

Válasszon ki vagy húzzon ide fájlokat

Privát - a fájlok soha nem hagyják el az eszközét

vagy beillesztés Ctrl+V
Adatvédelmi garancia hálózati adatátvitel nélkül: 0 bájt került fel külső szerverekre. Minden feldolgozás helyben, a böngésző elkülönített környezetében történt.

Bájtszintű fejlécaláírás (fájlazonosító bájtok)

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 01

ASCII ÁBRÁZOLÁS: v/1.

Szabványosítás: Academy Software Foundation (ASWF) Open Standard

Műszaki specifikációk

Konténer architektúraBővíthető, darabokra tagolt tárolóformátum, amely tetszőleges csatornákat, részeket és mélyadat-rétegeket támogat
TömörítésPIZ (wavelet), ZIP/ZIPS, RLE, B44/B44A, DWAA/DWAB (veszteséges DCT) és tömörítetlen
Bájtsorrendkis bájtsorrendű (Intel x86)
SzínterekLineáris ACEScg, ACES2065-1, Lineáris Rec.709, Tetszőleges kromaticitási koordináták
Csatornák és struktúraTetszőleges csatornanevek (R, G, B, A, Z-mélység, Normal, WorldPos, MotionVectors, Cryptomatte)
Max. méretekGyakorlatilag korlátlan (csempézett, mély nagyítású megjelenítést és több gigapixeles vászonméretet támogat)
ÁtlátszóságTeljes lebegőpontos alfa-csatorna és a mély kompozitáláshoz használt térfogati mintatömbök
Streaming és progresszívA soronkénti vagy csempézett darabokban történő adatfolyam-olvasás gyors részleges képkocka-beolvasást és proxy-renderelést tesz lehetővé

Műszaki összehasonlító mátrix: EXR vs. versenytársak

Technikai attribútumEXR (Jelenlegi)HDRTIFFPNG
Dinamikatartomány16 bites félpontosságú és 32 bites lineáris lebegőpontos8 bites közös kitevő (RGBE)8/16 bites egész vagy 32 bites lebegőpontosSzabványos 8 vagy 16 bites egész
Többcsatornás passzokKorlátlan számú, tetszőleges nevű csatorna és képrészCsak RGBKorlátozott rétegtámogatásCsak RGBA
Ipari elterjedtségSzéles körben használt a vizuális effektusok és a 3D-s gyártási munkafolyamatok terénKorábbi 3D-s világítási és panorámaformátumNyomdai előkészítés és fotózásA támogatás programonként eltér.
SzínkezelésNatív ACES- és OpenColorIO-integrációEseti gamma / lineárisICC-profilcímkéksRGB- és 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, vakítóan 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.app 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érték-túlcsordulás a többcsatornás pufferlépés-számításban a libopenexr könyvtárban.
  • Halmon kívüli 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.

Ajánlott védekezési módszerek: Dekódolja az EXR-fájlokat memóriabiztos, homokozóban futó WebAssembly-verziókkal, szigorú csempeméret-korlátokkal.

Történeti háttér és mérföldkövek

2020Az OpenEXR 3.0 az Academy Software Foundation keretében jelent meg, korszerűsítve a többszálú feldolgozást.
2013Az OpenEXR 2.0 bevezette a Deep Data kompozitálást és a többrészes képszerkezetet.
2003Az Industrial Light & Magic nyílt forráskódúvá tette az OpenEXR-t egy módosított BSD licenccel a Harry Potter filmeken való használat után.
1999Az ILM mérnökei, Florian Kainz, Rod Bogart és Drew Hess a 8 bites Cineon/DPX formátumok leváltására hozták létre.

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 passzt (beauty, diffuse, specular, depth, cryptomatte).
  • A DWAA és a DWAB veszteséges kodekek, amelyeket vizuálisan hatékony képtömörítésre terveztek; a látható eltérések a beállításoktól és a tartalomtól függően lehetnek alig észrevehetők vagy feltűnők.

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öbbcsatornás kitömörítés során a felhasználói szoftverekben.
  • Színkezelési transzformációkat (ACES vagy OCIO) igényel a helyes megjelenítéshez a szokványos 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 használják az OpenEXR-t egyes vizuáliseffektus-munkafolyamatokban?

Megőrzi a nagy pontosságú HDR-képadatokat, és több csatornát, részt és mélységi adatot támogat a kompozitáláshoz.

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éknyi 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 szabványos PNG- vagy JPG-formátumba?

Az EXR-fájlok tónusleképezett PNG- vagy JPG-képekké alakíthatók a File2File.app segítségével, közvetlenül a webböngészőben.