Radiance HDR (.hdr)

Standard Standard

Radiance RGBE (HDR) je osnovni format visokog dinamičkog opsega razvijen za sistem sintetičkog snimanja Radiance, koji čuva fotometrijski tačne vrednosti luminanse pomoću zajedničkog 8-bitnog eksponenta.

Pregled i metapodaci

Operativni sistemi i analizatori datoteka identifikuju HDR datoteke proverom početnog binarnog niza bajtova:

Izaberite ili prevucite datoteke ovde

Privatno - datoteke nikada ne napuštaju vaš uređaj

ili nalepite Ctrl+V
Garancija privatnosti: bez prenosa podataka preko mreže 0 bajtova poslato spoljnim serverima. Sva obrada je izvršena lokalno u bezbednom okruženju vašeg pregledača.

Potpis zaglavlja na nivou bajtova (magični bajtovi)

Operativni sistemi i analizatori datoteka identifikuju HDR datoteke proverom početnog binarnog niza bajtova:

HEKSADECIMALNI POTPIS (OFFSET 0):

23 3F 52 41 44 49 41 4E 43 45 0A

ASCII REPREZENTACIJA: #?RADIANCE\n

Standardizacija: Standard za Radiance Synthetic Imaging System

Tehničke specifikacije

Arhitektura kontejneraASCII zaglavlje koje se završava praznim redom, nakon čega slede tekst rezolucije i binarne RLE linije skeniranja
KompresijaAdaptivno kodiranje dužina nizova (RLE) primenjeno na liniju skeniranja svakog kanala
Bajtni redosled (Endianness)Redosled bajtova od najznačajnijeg ka najmanje značajnom (big-endian, mrežni redosled)
Prostori bojaRGB linearni Rec.709 sa koordinatama hromatičnosti CIE
Kanali i strukturaRGBE: crvena, zelena i plava (mantise od 8 bita) i zajednički eksponent od 8 bita
Maksimalne dimenzijePraktično neograničeno (tekst rezolucije sa neoznačenim celim brojevima od 32 bita)
TransparentnostNema je (merenja fizičke zračne luminanse)
Strimovanje i progresivno učitavanjeSekvencijalna reprodukcija strimovanjem liniju po liniju skeniranja

Tehnička matrica poređenja: HDR u odnosu na konkurente

Tehnički atributHDR (Trenutno)EXRTIFFJPEG
Kodiranje piksela32-bitni RGBE (deljeni 8-bitni eksponent)16-bitni half / 32-bitni float po kanaluCelobrojni 8/16-bitni ili 32-bitni float8-bitni celi broj kodiran gamom
Primarna namenaOsvetljenje okruženja od 360 stepeni (IBL)VFX višeslojni kompozitingFotografija i priprema za štampuStandardna veb grafika
Raspon dinamičkog opsega76 redova veličine (10^-38 do 10^38)Praktično beskonačan opseg brojeva sa pokretnim zarezomVarira u zavisnosti od dubine bitaOgraničeni 8-bitni SDR opseg
Podržani kanaliSamo RGBNeograničeni proizvoljni kanaliViše proizvoljnih kanalaRGB / CMYK

Uobičajeni režimi oštećenja i vodič za heksadecimalni oporavak

Slika prikazuje horizontalne trake duž cele širine kadra.

Osnovni uzrok: Oštećen bajt brojača dužine ponavljanja (RLE) tokom dekompresije linije skeniranja.

Oporavak: Rekonstruišite oštećene oznake linija skeniranja pomoću alata File2File.app HDR Repair ili konvertujte u EXR.

Bezbednosna analiza i vektori napada parsera

Radiance HDR dekoderi često parsiraju linije ASCII zaglavlja koristeći funkcije za rad sa niskama koje nemaju ograničenja dužine, što može izazvati prelivanje bafera na steku (stack buffer overflow).

Poznati vektori napada

  • Neograničeni pozivi funkcija sprintf/sscanf prilikom čitanja zaglavlja sa nizom rezolucije ('-Y %d +X %d').
  • Upis van granica dinamički alocirane memorije tokom dekodiranja nepravilno formatirane RLE linije skeniranja.
  • Prelivanje celobrojne vrednosti prilikom alokacije odredišnih bafera sa 32-bitnim pokretnim zarezom.

Najbolje prakse za zaštitu: Proverite dužinu ASCII zaglavlja i dimenzije linija skeniranja pre alokacije bafera slika.

Istorijat i prekretnice

2000Paul Debevec popularizuje osvetljenje zasnovano na HDR slikama (IBL) u računarskoj grafici koristeći Radiance .hdr datoteke.
1997Adaptivno RLE kodiranje linija skeniranja (adaptive scanline RLE) je standardizovano radi smanjenja veličine datoteka.
1989Greg Ward izmišlja 32-bitno RGBE kodiranje piksela i .hdr format u Nacionalnoj laboratoriji Lorensa Berklija.

Ključne prednosti

  • Kompaktna memorijska zauzetost od 32 bita po pikselu, uz opseg koji obuhvata 76 redova veličine fizičke luminanse svetlosti.
  • Podržavaju ga mnogi paketi za 3D renderovanje za mape okruženja, mada podrška zavisi od aplikacije.
  • Relativno kompaktna struktura datoteke koju mogu da implementiraju programi sa podrškom za Radiance HDR.

Tehnička ograničenja i nedostaci

  • U ekstremno tamnim regionima može doći do pojave traka (banding) usled kvantizacije zbog kodiranja sa deljenim 8-bitnim eksponentom.
  • RGB kanali ne mogu da čuvaju negativne brojeve ili proizvoljne višeslojne prolaze.
  • Uglavnom ga je potisnuo OpenEXR za produkciju vizuelnih efekata sa više prolaza.

Zanimljivosti

  • Svaka Radiance HDR datoteka počinje tekstualnim zaglavljem '#?RADIANCE' ili '#?RGBE'.
  • Format je kreiran radi simulacije fizičkog arhitektonskog osvetljenja u dizajnu zgrada pre nego što su same strukture izgrađene.
  • Kultni rad Paula Debevca iz 1997. godine objavljen na SIGGRAPH-u pod nazivom 'Recovering High Dynamic Range Radiance Maps from Photographs' koristio je ovaj format da revolucioniše CGI osvetljenje.

Često postavljana tehnička pitanja

Za šta se koristi HDRI datoteka u 3D-u?

HDRI (.hdr) datoteke se koriste kao panoramske mape okruženja od 360 stepeni kako bi obezbedile fotorealistično osvetljenje iz stvarnog sveta, senke i refleksije na 3D objektima.

Kako funkcioniše RGBE 32-bitno kodiranje?

Umesto čuvanja tri odvojena broja sa pokretnim zarezom, RGBE koristi po 8 bita za crvenu, zelenu i plavu boju, plus deljeni 8-bitni eksponent, čime se pun HDR dinamički opseg pakuje u samo 4 bajta po pikselu.

Mogu li da konvertujem HDR u JPG?

Da. File2File.app može da izvrši mapiranje tona i konvertuje 32-bitne Radiance HDR datoteke u standardne JPG ili PNG slike direktno u vašem pretraživaču.