Che cos'è il formato di file HDR?
Il file .hdr è un'immagine raster Radiance HDR (High Dynamic Range), sviluppata da Greg Ward presso il Lawrence Berkeley National Laboratory come parte del sistema di simulazione illuminotecnica Radiance alla fine degli anni '80. Il formato era originariamente memorizzato con l'estensione .pic prima che .hdr diventasse lo standard.
Ogni pixel è codificato utilizzando RGBE: tre valori di mantissa a 8 bit per i canali rosso, verde e blu, più un singolo esponente a 8 bit condiviso. Questo racchiude un pixel HDR a virgola mobile completo in soli 4 byte, rappresentando una gamma dinamica che copre circa 76 ordini di grandezza (da ~10⁻³⁸ a 10³⁸). Il compromesso è che tutti e tre i canali condividono un unico esponente, quindi la precisione per canale è inferiore rispetto a formati come OpenEXR, che memorizza veri float a 16 o 32 bit per canale e supporta più livelli.
Il file inizia con un'intestazione ASCII contenente la firma #?RADIANCE (alcuni strumenti scrivono invece #?RGBE, entrambi sono validi). Dopo il blocco di variabili chiave=valore e una riga di risoluzione, i dati dei pixel sono memorizzati come scanline con codifica run-length (RLE). È supportata anche una codifica di luminanza alternativa: impostando il campo dell'intestazione FORMAT su 32-bit_rle_xyze si passa dallo spazio colore RGB a quello CIE XYZ.
I file .hdr sono ampiamente utilizzati per le mappe d'ambiente HDRI nel rendering 3D e nei motori di gioco, dove l'elevata gamma dinamica consente un'illuminazione basata sull'immagine accurata. Sono supportati da Blender, GIMP, Adobe Photoshop e dalla maggior parte delle pipeline di rendering in tempo reale. Per i lavori di produzione VFX che richiedono precisione float per canale e supporto multi-livello, OpenEXR è diventato in gran parte lo standard del settore.
Sicurezza e incolumità
RISCHIO: LOWUn file Radiance .hdr è un'immagine passiva - senza script, macro o contenuti eseguibili - quindi il file stesso non è un vettore di malware. Le uniche precauzioni pratiche riguardano le grandi dimensioni dei file per le mappe HDRI ad alta risoluzione e rari bug dei parser delle librerie di immagini; mantieni aggiornato il tuo editor. Evita siti sospetti di «convertitori HDR gratuiti» che includono adware - GIMP, Krita, Blender e Photopea coprono ogni esigenza gratuitamente.
Dettagli del formato
in sintesi- Analog Devices / Mentor SPICE .hdr (dati intestazione) - Alcuni strumenti EDA e di dati scrivono un file collaterale .hdr di intestazione/metadati in testo semplice - non correlato all'imaging.
- Intestazione ENVI / telerilevamento .hdr - Le intestazioni raster ENVI utilizzano .hdr come file di testo collaterale che descrive un'immagine raw associata, non un'immagine Radiance.
- Asset '.hdr' di motori di gioco / installazione - Occasionalmente un motore nomina una cubemap HDR pacchettizzata o un file di intestazione generico come .hdr.
Programmi che aprono file HDR
Dettagli tecnici
specifiche approfondite| Schema di codifica | RGBE - mantissa a 8 bit per canale R, G, B più un esponente a 8 bit condiviso; racchiude un pixel HDR in esattamente 4 byte |
| Gamma dinamica | ~76 ordini di grandezza (~10⁻³⁸ a 10³⁸); equivalente a circa 25+ stop fotografici |
| Firma del file | ASCII `#?RADIANCE` seguito da una nuova riga (0x0A) all'offset byte 0; `#?RGBE` all'offset 0 è altrettanto valido e ampiamente prodotto |
| Compressione | Codifica run-length (RLE) adattiva delle scanline; la memorizzazione scanline piatta (non compressa) è consentita dalle specifiche |
| Formato intestazione | Blocco di variabili ASCII semplici chiave=valore (FORMAT, EXPOSURE, COLORCORR, PRIMARIES, SOFTWARE, ecc.) terminato da una riga vuota |
| Riga di risoluzione | Codifica larghezza, altezza e orientamento come ad es. `-Y 512 +X 1024`; sono supportate tutte e quattro le combinazioni di inversione/rotazione |
| Codifiche colore | `32-bit_rle_rgbe` (RGB lineare, predefinito) e `32-bit_rle_xyze` (variante di luminanza CIE XYZ), selezionate tramite il campo `FORMAT` dell'intestazione |
| Tipo MIME | `image/vnd.radiance` (registrato IANA); `image/x-hdr` è un'alternativa informale ampiamente utilizzata |
| Ordine dei byte | Neutrale rispetto all'endianness; i dati dei pixel sono costituiti da singoli byte memorizzati per pixel senza campi interi multi-byte |
| Dimensione tipica del file | 1 MB - 30 MB; le mappe d'ambiente HDRI panoramiche a risoluzioni come 8192×4096 raggiungono la fascia superiore |
| Limite dimensioni | Nessun limite rigido del formato; larghezza e altezza sono memorizzate come semplici interi decimali nella riga di intestazione della risoluzione |
| Spazio colore | Luce lineare senza curva gamma incorporata; i campi dell'intestazione EXPOSURE e COLORCORR contengono metadati di correzione riferiti alla scena |
| Canale alfa | Non supportato; né la codifica RGBE né quella XYZE includono un piano di trasparenza o alfa |
| Precisione per canale | ~8 bit di precisione relativa per canale a causa dell'esponente condiviso; l'accuratezza assoluta dipende dal valore di esposizione della scena |
| Estensione storica | `.pic` era utilizzato nel sistema di illuminazione Radiance originale; `.hdr` è diventato dominante quando il formato si è diffuso negli strumenti di imaging e 3D |
| Rilasciato | 1985-1989 (Radiance lighting simulation system); .pic originally, later .hdr |
| Ultima versione | RGBE/XYZE encoding (stable; format essentially unchanged) |
| Standard aperto | Sì · royalty-free |
| Specifica | floyd.lbl.gov |
Conversioni HDR
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file HDR.