OpenEXR slika visokog dinamičkog opsega (.exr)
Otvoreni StandardOpenEXR je profesionalni HDR format slike koji se koristi u filmskoj produkciji i vizuelnim efektima. Podržava 16-bitne half i 32-bitne piksele sa pokretnim zarezom, kao i više kanala i slojeva.
Pregled i metapodaci
Operativni sistemi i analizatori datoteka identifikuju EXR datoteke proverom početnog binarnog niza bajtova:
Potpis zaglavlja na nivou bajtova (magični bajtovi)
Operativni sistemi i analizatori datoteka identifikuju EXR datoteke proverom početnog binarnog niza bajtova:
HEKSADECIMALNI POTPIS (OFFSET 0):
76 2F 31 01ASCII REPREZENTACIJA: v/1.
Standardizacija: Otvoreni standard Academy Software Foundation (ASWF)
Tehničke specifikacije
| Arhitektura kontejnera | Proširiv kontejner zasnovan na blokovima koji podržava proizvoljne kanale, delove i dubinske slojeve podataka |
| Kompresija | PIZ (talasići), ZIP/ZIPS, RLE, B44/B44A, DWAA/DWAB (DCT sa gubicima) ili bez kompresije |
| Bajtni redosled (Endianness) | Redosled bajtova Intel x86 procesora, od najmanje značajnog ka najznačajnijem (little-endian) |
| Prostori boja | Linear ACEScg, ACES2065-1, Linear Rec.709, Proizvoljne koordinate hromatičnosti |
| Kanali i struktura | Proizvoljni nazivi kanala (R, G, B, A, Z-depth, Normal, WorldPos, MotionVectors, Cryptomatte) |
| Maksimalne dimenzije | Praktično neograničeno (podržava dubinsko zumiranje u pločicama i granice platna od više gigapiksela) |
| Transparentnost | Potpuni alfa-kanal sa vrednostima u pokretnom zarezu i volumetrijski nizovi uzoraka za dubinsko kompozitovanje |
| Strimovanje i progresivno učitavanje | Strimovanje po linijama skeniranja ili pločicama omogućava brzo čitanje delova kadra i prikazivanje probnih snimaka |
Tehnička matrica poređenja: EXR u odnosu na konkurente
| Tehnički atribut | EXR (Trenutno) | HDR | TIFF | PNG |
|---|---|---|---|---|
| Dinamički opseg | 16-bitni half i 32-bitni float u linearnom prostoru | 8-bitni deljeni eksponent (RGBE) | Celobrojni 8/16-bitni ili 32-bitni float | Standardne celobrojne vrednosti od 8/16 bita |
| Višekanalni prolazi | Neograničeni proizvoljno imenovani kanali i delovi | Samo RGB | Ograničena podrška za slojeve | Samo RGBA |
| Usvajanje u industriji | Široko se koristi u tokovima rada za vizuelne efekte i 3D produkciju | Nasleđeno 3D osvetljenje / panorama | Priprema za štampu i fotografija | Podrška se razlikuje u zavisnosti od programa. |
| Upravljanje bojama | Izvorna integracija sa ACES-om i OpenColorIO-om | Ad hoc gama / linearno | Oznake ICC profila | sRGB / ICC oznake |
Uobičajeni režimi oštećenja i vodič za heksadecimalni oporavak
Slika se prikazuje potpuno tamno ili je preeksponirana sa izrazito belim površinama.
Osnovni uzrok: Nedostaje transformacija prikaza iz linearnog u sRGB ili je dodeljen pogrešan ACES prostor boja.
Oporavak: Primenite transformaciju tonskog mapiranja ACEScg ili Linear-to-sRGB u HDR pregledaču File2File.app.
Bezbednosna analiza i vektori napada parsera
Složeni OpenEXR parseri zasnovani na blokovima (chunk) moraju strogo da provere definicije kanala i granice pločica (tile) kako bi sprečili probleme sa bezbednošću memorije.
Poznati vektori napada
- Prelivanje celobrojne vrednosti (integer overflow) u izračunavanju razmaka između elemenata višekanalnog bafera u libopenexr biblioteci.
- Čitanje izvan granica heap memorije tokom dekompresije komprimovanog PIZ ili DWAA toka.
- Uskraćivanje usluge (DoS) putem duboko ugnežđene rekurzije zaglavlja višekomponentnih blokova.
Najbolje prakse za zaštitu: Dekodirajte EXR datoteke koristeći WebAssembly verzije bezbedne po memoriji u zaštićenom okruženju sa strogim ograničenjima dimenzija pločica.
Istorijat i prekretnice
Ključne prednosti
- Nativna podrška za 16-bitne half-float (FP16) i 32-bitne float (FP32) vrednosti čuva ekstremnu osvetljenost od direktnog sunca do tamnih senki.
- Arhitektura sa proizvoljnim brojem kanala objedinjuje sve 3D prolaze renderovanja (beauty, diffuse, specular, depth, cryptomatte) u jednoj datoteci.
- DWAA i DWAB su kodeci sa gubicima namenjeni vizuelno efikasnoj kompresiji slike; vidljive razlike mogu biti suptilne ili primetne u zavisnosti od podešavanja i sadržaja.
Tehnička ograničenja i nedostaci
- Znatne veličine datoteka prilikom čuvanja nekomprimovanih višeslojnih 4K/8K 32-bitnih render prolaza.
- Visoko opterećenje procesora i memorije tokom dekompresije sa više kanala u potrošačkom softveru.
- Zahteva transformacije upravljanja bojama (ACES ili OCIO) za pravilan prikaz na standardnim sRGB ekranima.
Zanimljivosti
- Industrial Light & Magic je izmislio 16-bitni 'half' tip podataka u pokretnom zarezu specijalno za OpenEXR format.
- Prva četiri magična bajta svake EXR datoteke su 0x76 0x2F 0x31 0x01, što u ASCII kodu predstavlja 'v/1\x01'.
- OpenEXR podržava 'Deep Data', gde jedan piksel čuva više uzoraka boje i dubine na različitim rastojanjima prolazeći kroz poluproziran dim i oblake.
Često postavljana tehnička pitanja
Zašto se OpenEXR koristi u nekim radnim procesima vizuelnih efekata?
Čuva precizne HDR podatke slike i podržava više kanala, delova i podataka o dubini za kompoziting.
Koja je razlika između half float i float formata u EXR-u?
Half float koristi 16 bita po kanalu boje, nudeći 30 nivoa (stopa) dinamičkog opsega uz upola manju veličinu datoteke u odnosu na puni 32-bitni float, što ga čini omiljenim u industriji za lepe rendere.
Kako mogu da konvertujem EXR u standardni PNG ili JPG?
Možete da konvertujete EXR datoteke u PNG ili JPG slike sa tonskim mapiranjem pomoću File2File.app, direktno u veb pregledaču.