Radiance HDR (.hdr)
Radiance StandardRadiance RGBE (HDR) er det grundlæggende format med stort dynamisk omfang, der blev udviklet til Radiance-systemet til syntetisk billeddannelse, og som gemmer fotometrisk nøjagtige luminansværdier ved hjælp af en delt 8-bit-eksponent.
Undersøgelse og metadata
Operativsystemer og filanalysatorer identificerer HDR-filer ved at inspicere den indledende binære bytesekvens:
Byte-niveau Header-signatur (Magic Bytes)
Operativsystemer og filanalysatorer identificerer HDR-filer ved at inspicere den indledende binære bytesekvens:
HEX-SIGNATUR (OFFSET 0):
23 3F 52 41 44 49 41 4E 43 45 0AASCII-REPRÆSENTATION: #?RADIANCE\n
Standardisering: Radiance Synthetic Imaging System Standard
Tekniske specifikationer
| Containerarkitektur | ASCII-header, der slutter med en tom linje, efterfulgt af opløsningsstreng og binære RLE-scanlinjer |
| Komprimering | Adaptiv RLE-kodning anvendt på hver kanals scanningslinjer |
| Byte-rækkefølge | Big-Endian / netværksbyterækkefølge |
| Farverum | Lineær Rec.709 RGB med CIE-kromaticitetskoordinater |
| Kanaler og struktur | RGBE: rød, grøn, blå (8-bit mantisser) + fælles 8-bit eksponent |
| Maks. dimensioner | Praktisk talt ubegrænset (opløsningsstrenge med unsigned 32-bit-heltal) |
| Gennemsigtighed | Ingen (fysiske målinger af udstrålet luminans) |
| Streaming og progressiv | Sekventiel streamingafspilning scanlinje for scanlinje |
Teknisk sammenligningsmatrix: HDR sammenlignet med konkurrenterne
| Teknisk attribut | HDR (Aktuel) | EXR | TIFF | JPEG |
|---|---|---|---|---|
| Pixel-kodning | 32-bit RGBE (delt 8-bit eksponent) | 16-bit half / 32-bit float pr. kanal | Heltal 8/16-bit eller 32-bit float | 8-bit gammakkodet heltal |
| Primær anvendelse | 360-graders miljøbelysning (IBL) | VFX-sammensætning med flere gennemløb | Fotografi og prepress | Standard webgrafik |
| Dynamisk omfang | 76 størrelsesordener (10^-38 til 10^38) | Praktisk talt ubegrænset flydende kommatalområde | Varierer med bitdybden | Begrænset 8-bit SDR-område |
| Understøttede kanaler | Kun RGB | Et vilkårligt antal kanaler | Flere vilkårlige kanaler | RGB / CMYK |
Almindelige korruptionstilstande og hex-gendannelsesvejledning
Billedet viser vandrette stribebånd på tværs af hele billedets bredde.
Grundlæggende årsag: Korrupt tællerbyte for kørselslængde ved RLE-dekomprimering af en scanningslinje.
Gendannelse: Gendan beskadigede scanningslinjemarkører med File2File.app HDR Repair, eller konverter filen til EXR.
Sikkerhedsanalyse og parser-angrebsvektorer
Radiance HDR-dekodere behandler ofte ASCII-headerlinjer med strengrutiner uden længdebegrænsning, som kan udløse bufferoverløb på stakken.
Kendte angrebsvektorer
- sprintf/sscanf-kald uden længdebegrænsning ved læsning af opløsningsstrenge i headers ('-Y %d +X %d').
- Skrivning uden for heap-bufferens grænser under dekodning af misformet RLE-scanningslinje.
- Heltalsoverløb ved allokering af destinationsbuffere til 32-bit flydende kommatal.
Defensive bedste praksisser: Valider længden af ASCII-headeren og scanningslinjedimensionerne før allokering af billedbuffere.
Historisk oprindelse og milepæle
Vigtige fordele og styrker
- Kompakt hukommelsesaftryk på 32 bit pr. pixel, samtidig med at det spænder over 76 størrelsesordener i fysisk lysluminans.
- Understøttes af mange 3D-renderingsprogrammer til miljøkort, men understøttelsen afhænger af programmet.
- En forholdsvis kompakt filstruktur, som software med Radiance HDR-understøttelse kan implementere.
Tekniske begrænsninger og ulemper
- Kvantiseringsbånd kan forekomme i ekstreme mørke områder på grund af delt 8-bit eksponentkodning.
- RGB-kanaler kan ikke gemme negative tal eller vilkårlige lag med flere gennemløb.
- Stort set erstattet af OpenEXR til produktion af visuelle effekter med flere gennemløb.
Interessante tekniske fakta
- Enhver Radiance HDR-fil starter med tekstoverskriften '#?RADIANCE' eller '#?RGBE'.
- Formatet blev skabt til at simulere fysisk arkitektonisk belysning i bygningsdesign, før strukturerne blev opført.
- Paul Debevecs ikoniske SIGGRAPH-artikel fra 1997 'Recovering High Dynamic Range Radiance Maps from Photographs' brugte dette format til at revolutionere CGI-belysning.
Ofte stillede tekniske spørgsmål
Hvad bruges en HDRI-fil til i 3D?
HDRI (.hdr) filer bruges som 360-graders panoramiske miljøkort til at skabe fotorealistisk belysning, skygger og refleksioner på 3D-objekter.
Hvordan fungerer 32-bit RGBE-kodning?
I stedet for at gemme tre separate flydende kommatal bruger RGBE 8 bit hver for rød, grøn og blå plus en delt 8-bit eksponent, så hele HDR-dynamikområdet kan rummes på kun 4 bytes pr. pixel.
Kan jeg konvertere HDR til JPG?
Ja. File2File.app kan tone-mappe og konvertere 32-bit Radiance HDR-filer til standard JPG- eller PNG-billeder direkte i din browser.