Radiance HDR (.hdr)

Radiance Standard

Radiance 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:

Izberite ali povlecite datoteke sem

100-odstotno zasebna pretvorba v brskalniku - datoteke nikoli ne zapustijo vaše naprave

ali prilepi Ctrl+V
Jamstvo o zasebnosti brez prenosa podatkov v omrežje: 0 bajtov naloženih na zunanje strežnike. Vsa obdelava je potekala lokalno v varnem območju vašega brskalnika.

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 0A

REPREZENTACIJA ASCII: #?RADIANCE\n

Standardizacija: Radiance Synthetic Imaging System Standard

Tehnične specifikacije

Arhitektura vsebnikaASCII header ending with empty line followed by resolution string and binary RLE scanlines
StiskanjeAdaptive adaptive run-length encoding (RLE) applied per-channel scanline
Vrstni red bajtovBig-Endian / Network byte order
Barvni prostoriLinear Rec.709 RGB with CIE chromaticity coordinates
Kanali in strukturaRGBE: Red, Green, Blue (8-bit mantissas) + shared 8-bit Exponent
Največje dimenzijePractically unlimited (32-bit unsigned resolution strings)
ProsojnostNone (physical radiant luminance measurements)
Pretočno in progresivno predvajanjeSequential scanline-by-scanline streaming playback

Tehnična primerjalna matrika: HDR proti konkurenci

Tehnični atributHDR (Trenutno)EXRTIFFJPEG
Kodiranje slikovnih pik32-bitni RGBE (deljen 8-bitni eksponent)16-bitni polovični / 32-bitni s plavajočo vejico na kanalCeloštevilski 8/16-bitni ali 32-bitni s plavajočo vejico8-bitno celo število, kodirano z gamo
Glavni primer uporabe360-stopinjska osvetlitev okolja (IBL)Večpasovno sestavljanje VFXFotografija in priprava za tiskStandardna spletna grafika
Obseg dinamičnega območja76 redov velikosti (10^-38 do 10^38)Praktično neskončen obseg s plavajočo vejicoRazlikuje se glede na bitno globinoOmejen 8-bitni obseg SDR
Podprti kanaliSamo RGBNeomejeni poljubni kanaliVeč poljubnih kanalovRGB / 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

2000Paul Debevec popularizira osvetlitev, ki temelji na slikah HDR (IBL), v računalniški grafiki z uporabo datotek .hdr Radiance.
1997Standardizirano je adaptivno kodiranje teka dolžin (RLE) vrstic skeniranja za zmanjšanje velikosti datotek.
1989Greg Ward izumi 32-bitno kodiranje slikovnih pik RGBE in format .hdr v nacionalnem laboratoriju Lawrence Berkeley National Laboratory.

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.