Radiance HDR (.hdr)
Radiance StandardRadiance RGBE (HDR) är det grundläggande formatet för högt dynamiskt omfång som utvecklades för Radiance-systemet för syntetisk bildgenerering, och lagrar fotometriskt exakta luminansvärden med en delad 8-bitars exponent.
Granska & Metadata
Operativsystem och filanalysverktyg identifierar HDR-filer genom att granska den inledande binära bytesekvensen:
Signatur för filhuvud på bytenivå (Magic Bytes)
Operativsystem och filanalysverktyg identifierar HDR-filer genom att granska den inledande binära bytesekvensen:
HEX-SIGNATUR (OFFSET 0):
23 3F 52 41 44 49 41 4E 43 45 0AASCII-REPRESENTATION: #?RADIANCE\n
Standardisering: Radiance Synthetic Imaging System Standard
Tekniska specifikationer
| Containerarkitektur | ASCII header ending with empty line followed by resolution string and binary RLE scanlines |
| Komprimering | Adaptive adaptive run-length encoding (RLE) applied per-channel scanline |
| Bytessordinning | Big-Endian / Network byte order |
| Färgrymder | Linear Rec.709 RGB with CIE chromaticity coordinates |
| Kanaler och struktur | RGBE: Red, Green, Blue (8-bit mantissas) + shared 8-bit Exponent |
| Maximala dimensioner | Practically unlimited (32-bit unsigned resolution strings) |
| Transparens | None (physical radiant luminance measurements) |
| Strömning och progressiv | Sequential scanline-by-scanline streaming playback |
Teknisk jämförelsematris: HDR vs konkurrenter
| Tekniskt attribut | HDR (Aktuell) | EXR | TIFF | JPEG |
|---|---|---|---|---|
| Pixelkodning | 32-bitars RGBE (delad 8-bitars exponent) | 16-bit half / 32-bit float per kanal | Heltal 8/16-bit eller 32-bit float | 8-bitars gammakodad heltal |
| Primärt användningsområde | 360-graders miljöbelysning (IBL) | VFX-kompositering med flera pass | Fotografi & prepress | Standard webbgrafik |
| Dynamiskt omfång | 76 storleksordningar (10^-38 till 10^38) | Praktiskt taget oändligt flyttalsomfång | Varierar beroende på bitdjup | Begränsat 8-bitars SDR-omfång |
| Stödda kanaler | Endast RGB | Obegränsade godtyckliga kanaler | Flera godtyckliga kanaler | RGB / CMYK |
Vanliga skadeorsaker och hex-återställningsguide
Bilden visar horisontella sträckband över hela bildens bredd.
Grundorsak: Skadad run-length-räknarbyte vid dekodning av scanline RLE.
Återställning: Rekonstruera skadade scanline-markörer med File2File HDR Repair eller konvertera till EXR.
Säkerhetsanalys och attackvektorer för tolkar
Radiance HDR-avkodare tolkar ofta ASCII-huvudrader med obegränsade strängrutiner som kan utlösa stackbuffertspill.
Kända attackvektorer
- Obegränsade sprintf/sscanf-anrop vid läsning av upplösningsstränghuvuden ('-Y %d +X %d').
- Heap out-of-bounds-skrivning under felaktig RLE-scanline-dekodning.
- Heltalsspill vid allokering av 32-bitars flyttalsbuffertar för destinationen.
Rekommenderade skyddsåtgärder:
Historiskt ursprung och milstolpar
Viktiga fördelar
- Kompakt minnesfotavtryck på 32 bitar per pixel samtidigt som det spänner över 76 storleksordningar av fysisk ljusluminans.
- Universellt stöd i 3D-renderingspaket (Blender, Unreal Engine, Unity, Cinema 4D) för 360-graders miljömappar.
- Enkel, robust filstruktur som är lätt att implementera över alla mjukvaruplattformar.
Tekniska begränsningar
- Kvantiseringsbandning kan uppstå i extrema mörka områden på grund av kodning med delad 8-bitars exponent.
- RGB-kanaler kan inte lagra negativa tal eller godtyckliga flerskiktslager.
- Till stor del ersatt av OpenEXR för produktion av visuella effekter med flera pass.
Intressant teknisk kuriosa
- Varje Radiance HDR-fil börjar med textrubriken '#?RADIANCE' eller '#?RGBE'.
- Formatet skapades för att simulera fysisk arkitektonisk belysning vid byggnadsdesign innan strukturerna byggdes.
- Paul Debevecs ikoniska SIGGRAPH-uppsats från 1997, 'Recovering High Dynamic Range Radiance Maps from Photographs', använde detta format för att revolutionera CGI-belysning.
Vanliga tekniska frågor
Vad används en HDRI-fil till inom 3D?
HDRI-filer (.hdr) används som 360-graders panoreringmiljömappar för att ge fotorealistisk ljussättning, skuggor och reflexioner i realtid på 3D-objekt.
Hur fungerar RGBE 32-bitars kodning?
Istället för att lagra tre separata flyttal använder RGBE 8 bitar vardera för rött, grönt och blått, plus en gemensam 8-bitars exponent, vilket rymmer det fulla dynamiska omfånget för HDR i endast 4 byte per pixel.
Kan jag konvertera HDR till JPG?
Ja. File2File.app kan tonomvandla och konvertera 32-bitars Radiance HDR-filer till vanliga JPG- eller PNG-bilder direkt i din webbläsare.