Radiance HDR (.hdr)

Radiance Standard

Radiance RGBE (HDR) este formatul fundamental cu gamă dinamică ridicată dezvoltat pentru sistemul de imagistică sintetică Radiance, care stochează valori de luminozitate corecte fotometric folosind un exponent partajat pe 8 biți.

Inspectează și Metadate

Sistemele de operare și analizatoarele de fișiere identifică fișierele HDR prin inspectarea secvenței binare inițiale:

Selectează sau plasează fișierele aici

Conversie 100% privată în browser - fișierele nu părăsesc niciodată dispozitivul tău

sau lipește Ctrl+V
Garanție de confidențialitate cu zero transmisie în rețea: 0 octeți încărcați pe servere externe. Toată procesarea a avut loc local în sandbox-ul browserului tău.

Semnătura antetului la nivel de octet (Magic Bytes)

Sistemele de operare și analizatoarele de fișiere identifică fișierele HDR prin inspectarea secvenței binare inițiale:

SEMNĂTURĂ HEX (OFFSET 0):

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

REPREZENTARE ASCII: #?RADIANCE\n

Standardizare: Radiance Synthetic Imaging System Standard

Specificații tehnice

Arhitectură containerASCII header ending with empty line followed by resolution string and binary RLE scanlines
CompresieAdaptive adaptive run-length encoding (RLE) applied per-channel scanline
Endianitatea octețilorBig-Endian / Network byte order
Spații de culoareLinear Rec.709 RGB with CIE chromaticity coordinates
Canale și structurăRGBE: Red, Green, Blue (8-bit mantissas) + shared 8-bit Exponent
Dimensiuni maximePractically unlimited (32-bit unsigned resolution strings)
TransparențăNone (physical radiant luminance measurements)
Streaming și progresivSequential scanline-by-scanline streaming playback

Matrice de comparație tehnică: HDR vs Competitori

Atribut tehnicHDR (Curent)EXRTIFFJPEG
Codarea pixelilor32-bit RGBE (exponent partajat pe 8 biți)16-bit half / 32-bit float per canalÎntreg 8/16-bit sau float 32-bitÎntreg codat în gamă pe 8 biți
Utilizare principalăIluminare de mediu la 360 de grade (IBL)Compoziting VFX cu treceri multipleFotografie și prepresăGrafică web standard
Domeniul gamei dinamice76 ordine de mărime (10^-38 la 10^38)Interval flotant practic infinitVariază în funcție de adâncimea bițilorGamă SDR limitată la 8 biți
Canale acceptateDoar RGBCanale arbitrare nelimitateMai multe canale arbitrareRGB / CMYK

Moduri comune de corupție și ghid de recuperare hexazecimală

Imaginea afișează benzi de dungi orizontale pe întreaga lățime a cadrelor.

Cauză principală: Octet de numărătoare a lungimii de rulare corupt în decomprimarea RLE a liniei de scanare.

Recuperare: Reconstruiți markerii deteriorați ai liniilor de scanare utilizând File2File HDR Repair sau convertiți în EXR.

Analiză de securitate și vectori de atac asupra parserului

Decodoarele Radiance HDR analizează adesea liniile de antet ASCII folosind rutine de șiruri nelimitate care pot declanșa depășiri de stivă (stack buffer overflows).

Vectori de atac cunoscuți

  • Apeluri sprintf/sscanf nelimitate la citirea antetelor șirului de rezoluție („-Y %d +X %d").
  • Scriere în afara limitelor heap-ului în timpul decodării liniei de scanare RLE malformate.
  • Depășire de întreg la alocarea bufferelor de destinație în virgulă mobilă pe 32 de biți.

Cele mai bune practici de securitate:

Origini istorice și repere

2000Paul Debevec popularizează iluminarea bazată pe imagini HDR (IBL) în grafica computerizată folosind fișiere Radiance .hdr.
1997Codarea adaptivă a lungimii de rulare (RLE) pentru linii de scanare este standardizată pentru a reduce dimensiunile fișierelor.
1989Greg Ward inventează codarea pixelilor RGBE pe 32 de biți și formatul .hdr la Lawrence Berkeley National Laboratory.

Avantaje cheie și beneficii

  • Amprentă de memorie compactă de 32 de biți per pixel, acoperind în același timp 76 ordine de mărime ale luminozității fizice a luminii.
  • Suport universal în pachetele de randare 3D (Blender, Unreal Engine, Unity, Cinema 4D) pentru hărți de mediu la 360 de grade.
  • Structură de fișiere simplă și robustă, ușor de implementat pe toate platformele software.

Limitări tehnice și dezavantaje

  • Bandarea de cuantizare poate apărea în regiunile extrem de întunecate din cauza codării exponentului partajat pe 8 biți.
  • Canalele RGB nu pot stoca numere negative sau straturi arbitrare cu treceri multiple.
  • În mare măsură înlocuit de OpenEXR pentru producția de efecte vizuale cu treceri multiple.

Curiozități tehnice interesante

  • Fiecare fișier Radiance HDR începe cu antetul text „#?RADIANCE" sau „#?RGBE".
  • Formatul a fost creat pentru a simula iluminarea arhitecturală fizică în proiectarea clădirilor înainte ca structurile să fie construite.
  • Lucrarea iconică din 1997 a lui Paul Debevec de la SIGGRAPH, „Recovering High Dynamic Range Radiance Maps from Photographs", a folosit acest format pentru a revoluționa iluminarea CGI.

Întrebări tehnice frecvente

Pentru ce este utilizat un fișier HDRI în 3D?

Fișierele HDRI (.hdr) sunt utilizate ca hărți de mediu panoramice la 360 de grade pentru a oferi iluminare fotorealistă din lumea reală, umbre și reflexii pe obiecte 3D.

Cum funcționează codarea RGBE pe 32 biți?

În loc să stocheze trei numere separate în virgulă mobilă, RGBE utilizează câte 8 biți pentru roșu, verde și albastru, plus un exponent partajat de 8 biți, încadrând întreaga gamă dinamică HDR în doar 4 octeți (bytes) per pixel.

Pot converti HDR în JPG?

Da. File2File.app poate aplica maparea de tonuri și poate converti fișiere Radiance HDR pe 32 biți în imagini JPG sau PNG standard direct în browserul tău.