Radiance HDR (.hdr)

Standardul 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.

Inspectare ș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

Privat - fișierele nu părăsesc niciodată dispozitivul tău

sau lipește Ctrl+V
Garanție de confidențialitate: nicio transmisie prin 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 (octeți magici)

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

SEMNĂTURĂ HEXAZECIMALĂ (DECALAJ 0):

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

REPREZENTARE ASCII: #?RADIANCE\n

Standardizare: Standardul sistemului de imagistică sintetică Radiance

Specificații tehnice

Arhitectură containerAntet ASCII care se termină cu o linie goală, urmat de șirul de rezoluție și liniile de scanare RLE binare
CompresieCodificare adaptivă a lungimii de secvență (RLE) aplicată liniilor de scanare, canal cu canal
Ordinea octețilorBig-Endian / ordinea octeților de rețea
Spații de culoareRGB Linear Rec.709 cu coordonate cromatice CIE
Canale și structurăRGBE: roșu, verde, albastru (mantise pe 8 biți) și exponent comun pe 8 biți
Dimensiuni maximePractic nelimitate (șiruri de rezoluție cu întregi fără semn pe 32 de biți)
TransparențăNiciuna (măsurători fizice ale luminozității radiante)
Streaming și progresivRedare secvențială în flux, linie de scanare cu linie de scanare

Matrice de comparație tehnică: HDR vs. concurenți

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 cu gamma 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 de ordine de mărime (de la 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 cadrului.

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

Recuperare: Reconstituie marcajele deteriorate ale liniilor de scanare cu HDR Repair din File2File.app sau convertește fișierul î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 fără limite la citirea antetelor care conțin șirul 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 pentru valori în virgulă mobilă pe 32 de biți.

Cele mai bune practici de securitate: Verifică lungimea antetului ASCII și dimensiunile liniilor de scanare înainte să aloci buffere pentru imagini.

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 de ordine de mărime ale luminozității fizice a luminii.
  • Este acceptat de numeroase pachete de randare 3D pentru hărți de mediu, deși compatibilitatea depinde de aplicație.
  • Structură de fișier relativ compactă, care poate fi implementată de software-ul compatibil cu Radiance HDR.

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, și un exponent comun de 8 biți, încadrând întreaga gamă dinamică HDR în doar 4 octeți 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.