Radiance HDR (.hdr)
Radiance StandardRadiance RGBE (HDR) je temeljni format visokega dinamičnega območja, razvit za sistem sintetičnega upodabljanja Radiance, ki shranjuje fotometrično natančne vrednosti svetlosti z uporabo deljenega 8-bitnega eksponenta.
Pregled in metapodatki
Operacijski sistemi in analizatorji datotek identificirajo datoteke HDR s pregledom vodilnega binarnega zaporedja bajtov:
Podpis glave na ravni bajtov (Čarobni bajti)
Operacijski sistemi in analizatorji datotek identificirajo datoteke HDR s pregledom vodilnega binarnega zaporedja bajtov:
PODPIS HEX (ZAMIK 0):
23 3F 52 41 44 49 41 4E 43 45 0AREPREZENTACIJA ASCII: #?RADIANCE\n
Standardizacija: Radiance Synthetic Imaging System Standard
Tehnične specifikacije
| Arhitektura vsebnika | ASCII header ending with empty line followed by resolution string and binary RLE scanlines |
| Stiskanje | Adaptive adaptive run-length encoding (RLE) applied per-channel scanline |
| Vrstni red bajtov | Big-Endian / Network byte order |
| Barvni prostori | Linear Rec.709 RGB with CIE chromaticity coordinates |
| Kanali in struktura | RGBE: Red, Green, Blue (8-bit mantissas) + shared 8-bit Exponent |
| Največje dimenzije | Practically unlimited (32-bit unsigned resolution strings) |
| Prosojnost | None (physical radiant luminance measurements) |
| Pretočno in progresivno predvajanje | Sequential scanline-by-scanline streaming playback |
Tehnična primerjalna matrika: HDR proti konkurenci
| Tehnični atribut | HDR (Trenutno) | EXR | TIFF | JPEG |
|---|---|---|---|---|
| Kodiranje slikovnih pik | 32-bitni RGBE (deljen 8-bitni eksponent) | 16-bitni polovični / 32-bitni s plavajočo vejico na kanal | Celoštevilski 8/16-bitni ali 32-bitni s plavajočo vejico | 8-bitno celo število, kodirano z gamo |
| Glavni primer uporabe | 360-stopinjska osvetlitev okolja (IBL) | Večpasovno sestavljanje VFX | Fotografija in priprava za tisk | Standardna spletna grafika |
| Obseg dinamičnega območja | 76 redov velikosti (10^-38 do 10^38) | Praktično neskončen obseg s plavajočo vejico | Razlikuje se glede na bitno globino | Omejen 8-bitni obseg SDR |
| Podprti kanali | Samo RGB | Neomejeni poljubni kanali | Več poljubnih kanalov | RGB / CMYK |
Pogosti načini okvar in vodič za heksadecimalno obnovo
Na sliki se prikažejo vodoravni pasovi črt po celotni širini sličice.
Glavni vzrok: Poškodovan bajt števca teka dolžin (run-length count) pri dekompresiji vrstice skeniranja RLE.
Sanacija: Obnovite poškodovane označevalce vrstic skeniranja z uporabo orodja File2File HDR Repair ali pretvorite v EXR.
Varnostna analiza in napadalni vektorji razčlenjevalnika
Dekoderji Radiance HDR pogosto razčlenjujejo vrstice glave ASCII z uporabo funkcij nizov brez omejitev, kar lahko sproži prekoračitve sklada (stack buffer overflows).
Znani vektorji napada
- Neomejeni klici sprintf/sscanf pri branju glav z nizi ločljivosti ('-Y %d +X %d').
- Zapisovalni dostop zunaj meja pomnilnika (heap out-of-bounds write) med nepravilnim dekodiranjem vrstic skeniranja RLE.
- Prekoračitev celega števila pri dodeljevanju ciljnih medpomnilnikov s 32-bitno plavajočo vejico.
Obrambne najboljše prakse:
Zgodovinski izvor in mejniki
Ključne prednosti
- Kompaktna pomnilniška zasedba 32 bitov na slikovno piko, ki hkrati pokriva 76 redov velikosti fizikalne svetlosti svetlobe.
- Univerzalna podpora v paketih za 3D upodabljanje (Blender, Unreal Engine, Unity, Cinema 4D) za 360-stopinjske karte okolja.
- Preprosta, robustna struktura datoteke, ki jo je enostavno implementirati na vseh programskih platformah.
Tehnične omejitve in slabosti
- V izjemno temnih predelich lahko pride do pasov kvantizacije zaradi kodiranja z deljenim 8-bitnim eksponentom.
- Kanali RGB ne morejo shranjevati negativnih števil ali poljubnih večpasovnih plasti.
- V veliki meri ga je za produkcijo vizualnih učinkov z več pasovi nadomestil OpenEXR.
Zanimive tehnične malenkosti
- Vsaka datoteka Radiance HDR se začne s točno določeno glavo besedila '#?RADIANCE' ali '#?RGBE'.
- Format je bil ustvarjen za simulacijo fizikalne arhitekturne razsvetljave pri načrtovanju zgradb, preden so bile te sploh zgrajene.
- Kultni članek Paula Debevca iz leta 1997 za SIGGRAPH z naslovom 'Recovering High Dynamic Range Radiance Maps from Photographs' je uporabil ta format za revolucijo osvetlitve v računalniško ustvarjenih filmih (CGI).
Pogosta tehnična vprašanja
Za kaj se v 3D-grafiki uporablja datoteka HDRI?
Datoteke HDRI (.hdr) se uporabljajo kot 360-stopinjske panoramske okoljske mape za zagotavljanje fotorealistične osvetlitve, senc in odsevov v resničnem svetu na 3D-objektih.
Kako deluje 32-bitno kodiranje RGBE?
Namesto shranjevanja treh ločenih števil s plavajočo vejico RGBE uporablja po 8 bitov za rdečo, zeleno in modro barvo ter skupni 8-bitni eksponent, s čimer celotno dinamično območje HDR spakira v samo 4 bajte na slikovno točko.
Ali lahko pretvorim HDR v JPG?
Da. File2File.app lahko neposredno v vašem brskalniku izvede tonsko preslikavo in pretvori 32-bitne datoteke Radiance HDR v standardne slike JPG ali PNG.