Immagine OpenEXR (.exr)

Standard Standard

OpenEXR este un format profesional de imagini HDR folosit în fluxuri de producție cinematografică și efecte vizuale. Acceptă pixeli în virgulă mobilă half pe 16 biți și pe 32 de biți, cu mai multe canale și straturi.

Inspectare și metadate

Sistemele de operare și analizatoarele de fișiere identifică fișierele EXR prin inspectarea secvenței binare inițiale:

Selectează sau plasează fișierele aici

Privat - fișierele nu părăsesc niciodată dispozitivul tău

sau lipește Ctrl+V
Garanție de confidențialitate: nicio transmisie prin rețea: 0 octeți încărcați pe servere externe. Toată procesarea a avut loc local în sandbox-ul browserului tău.

Semnătura antetului la nivel de octet (octeți magici)

Sistemele de operare și analizatoarele de fișiere identifică fișierele EXR prin inspectarea secvenței binare inițiale:

SEMNĂTURĂ HEXAZECIMALĂ (DECALAJ 0):

76 2F 31 01

REPREZENTARE ASCII: v/1.

Standardizare: Standard deschis al Academy Software Foundation (ASWF)

Specificații tehnice

Arhitectură containerContainer extensibil, bazat pe fragmente, care acceptă canale, părți și straturi de date profunde arbitrare
CompresiePIZ (wavelet), ZIP/ZIPS, RLE, B44/B44A, DWAA/DWAB (DCT cu pierderi) și date necomprimate
Ordinea octețilorLittle-Endian (Intel x86)
Spații de culoareLinear ACEScg, ACES2065-1, Linear Rec.709, Coordonate cromatice arbitrare
Canale și structurăNume arbitrare de canale (R, G, B, A, adâncime Z, normală, poziție în coordonate globale, vectori de mișcare, Cryptomatte)
Dimensiuni maximePractic nelimitate (acceptă zoom profund pe dale și suprafețe de mai mulți gigapixeli)
TransparențăCanal alfa complet în virgulă mobilă și tablouri volumetrice de eșantioane pentru compozitare profundă
Streaming și progresivTransmiterea fluxului pe linii de scanare sau dale permite citirea rapidă a unor porțiuni de cadru și randarea proxy

Matrice de comparație tehnică: EXR vs. concurenți

Atribut tehnicEXR (Curent)HDRTIFFPNG
Gamă dinamică16-bit half & 32-bit float liniarExponent partajat pe 8 biți (RGBE)Întreg 8/16-bit sau float 32-bitÎntreg standard 8-bit / 16-bit
Straturi de randare cu canale multipleCanale și părți arbitrare nelimitateDoar RGBSuport limitat pentru straturiDoar RGBA
Adopție în industrieStandard universal pentru VFX și 3D la Hollywood, 100%Iluminare 3D / panoramă vechePrepresă și fotografieCompatibilitatea diferă de la un program la altul.
Managementul culorilorIntegrare nativă ACES & OpenColorIOGamma / liniar ad-hocEtichete profil ICCEtichete sRGB / ICC

Moduri comune de corupție și ghid de recuperare hexazecimală

Imaginea se afișează complet întunecată sau arsă, cu pete albe supraexpuse.

Cauză principală: Lipsește transformarea de afișare liniar-la-sRGB sau este atribuit un spațiu de culoare ACES incorect.

Recuperare: Aplică o transformare a curbei de ton ACEScg sau Linear-to-sRGB în HDR Viewer din File2File.app.

Analiză de securitate și vectori de atac asupra parserului

Analizoarele complexe OpenEXR bazate pe fragmente (chunk) trebuie să valideze strict definițiile canalelor și limitele de dale (tile) pentru a preveni problemele de securitate a memoriei.

Vectori de atac cunoscuți

  • Depășire de întreg (integer overflow) în calculul pasului bufferului cu canale multiple în libopenexr.
  • Citire în afara limitelor heap-ului în timpul decomprimării fluxului comprimat PIZ sau DWAA.
  • Refuz al serviciului (DoS) prin recursivitate adânc imbricată a antetului de fragmente multi-part.

Cele mai bune practici de securitate: Decodifică fișierele EXR folosind versiuni WebAssembly sigure pentru memorie, rulate într-un mediu izolat și cu limite stricte pentru dimensiunile dalelor.

Origini istorice și repere

2020Lansarea OpenEXR 3.0 sub egida Academy Software Foundation, modernizând suportul pentru fire de execuție multiple (multi-threading).
2013OpenEXR 2.0 introduce compozitingul Deep Data și structuri de imagini multi-part.
2003Industrial Light & Magic deschide codul sursă OpenEXR sub o licență BSD modificată, după utilizarea sa în filmul Harry Potter.
1999Creat de inginerii ILM Florian Kainz, Rod Bogart și Drew Hess pentru a înlocui formatele Cineon/DPX pe 8 biți.

Avantaje cheie și beneficii

  • Suportul nativ pentru half-float pe 16 biți (FP16) și float pe 32 de biți (FP32) păstrează o luminozitate extremă, de la lumina directă a soarelui până la umbre întunecate.
  • Arhitectura arbitrară cu canale multiple încapsulează toate trecerile de randare 3D (beauty, diffuse, specular, depth, cryptomatte) într-un singur fișier.
  • DWAA și DWAB sunt codecuri cu pierderi, concepute pentru compresie vizuală eficientă; diferențele vizibile pot fi discrete sau evidente, în funcție de setări și conținut.

Limitări tehnice și dezavantaje

  • Dimensiuni substanțiale ale fișierelor la salvarea trecerilor de randare 32-bit 4K/8K necomprimate și multi-strat.
  • Consum ridicat de CPU și memorie în timpul decomprimării cu canale multiple în software-ul de consum.
  • Necesită transformări de management al culorilor (ACES sau OCIO) pentru a se randa corect pe ecranele standard sRGB.

Curiozități tehnice interesante

  • Industrial Light & Magic a inventat tipul de date în virgulă mobilă de 16 biți „half” special pentru formatul OpenEXR.
  • Primii patru octeți magici ai fiecărui fișier EXR sunt 0x76 0x2F 0x31 0x01, ceea ce înseamnă în ASCII „v/1\x01”.
  • OpenEXR acceptă „Deep Data”, unde un singur pixel stochează mai multe eșantioane de culoare și adâncime la distanțe diferite prin fum și nori semitransparenți.

Întrebări tehnice frecvente

De ce este folosit OpenEXR în unele fluxuri de efecte vizuale?

Păstrează date HDR de imagine de înaltă precizie și acceptă mai multe canale, părți și date de profunzime pentru compoziție.

Care este diferența dintre half float și float în EXR?

Half float utilizează 16 biți per canal de culoare, oferind 30 de trepte (stops) de gamă dinamică la jumătate din dimensiunea fișierului unui float complet pe 32 biți, făcându-l favoritul industriei pentru randări de tip beauty.

Cum pot converti EXR în PNG sau JPG standard?

Poți converti fișiere EXR în imagini PNG sau JPG cu mapare de tonuri folosind File2File.app direct în browserul tău web.