Radiance HDR (.hdr)

Radiance Standardi

Radiance RGBE (HDR) on perinteinen korkean dynaamisen alueen muoto, joka on kehitetty Radiance-synteettiselle kuvantamisjärjestelmälle. Se tallentaa valometrisesti tarkkoja luminanssiarvoja käyttämällä jaettua 8-bittistä eksponenttia.

Tarkastele ja metatiedot

Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat HDR-tiedostot tarkistamalla tiedoston alun binäärisarjan:

Valitse tai pudota tiedostot tähän

100 % yksityinen selaimen sisäinen muunnos - tiedostot eivät poistu laitteeltasi

tai liitä Ctrl+V
Tietosuojatakuu: 0 % verkkosiirtoa 0 tavua ladattu ulkoisille palvelimille. Kaikki käsittely tapahtui paikallisesti selaimen hiekkalaatikossa.

Tavutason otsikon allekirjoitus (Magic Bytes)

Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat HDR-tiedostot tarkistamalla tiedoston alun binäärisarjan:

HEX-ALLEKIRJOITUS (OFFSET 0):

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

ASCII-ESITYSTAPA: #?RADIANCE\n

Standardointi: Radiance Synthetic Imaging System Standard

Tekniset tiedot

SäiliöarkkitehtuuriASCII header ending with empty line followed by resolution string and binary RLE scanlines
PakkausAdaptive adaptive run-length encoding (RLE) applied per-channel scanline
Tavujärjestys (Endianness)Big-Endian / Network byte order
VäriavaruudetLinear Rec.709 RGB with CIE chromaticity coordinates
Kanavat ja rakenneRGBE: Red, Green, Blue (8-bit mantissas) + shared 8-bit Exponent
Suurimmat mitatPractically unlimited (32-bit unsigned resolution strings)
LäpinäkyvyysNone (physical radiant luminance measurements)
Suoratoisto ja progressiivinen latausSequential scanline-by-scanline streaming playback

Tekninen vertailumatriisi: HDR vs. kilpailijat

Tekninen attribuuttiHDR (Nykyinen)EXRTIFFJPEG
Pikselikoodaus32-bit RGBE (jaettu 8-bit eksponentti)16-bit half / 32-bit float per kanavaKokonaisluku 8/16-bit tai 32-bit float8-bit gammakoodattu kokonaisluku
Ensisijainen käyttötarkoitus360 asteen ympäristövalaistus (IBL)VFX-monipassikompositointiValokuvaus ja prepressStandardi verkkografiikka
Dynaamisen alueen laajuus76 suuruusluokkaa (10^-38 - 10^38)Käytännössä rajaton liukulukualueVaihtelee bittisyvyyden mukaanRajoitettu 8-bit SDR-alue
Tuetut kanavatVain RGBRajoittamattomat mielivaltaiset kanavatUseita mielivaltaisia kanaviaRGB / CMYK

Yleiset korruptiotilat ja heksatietojehdotusopas

Kuvassa näkyy vaakasuuntaisia raitakaistoja koko kehyksen leveydeltä.

Perussyy: Vioittunut juoksupituuden laskentatavu skannausrivin RLE-purkauksessa.

Korjaus: Korjaa vioittuneet skannausrivimerkinnät File2File HDR Repairilla tai muunna EXR-muotoon.

Turvallisuusanalyysi ja jäsenninhyökkäysvektorit

Radiance HDR -dekooderit jäsentävät usein ASCII-otsikkorivejä käyttämällä rajoittamattomia merkkijonorutiineja, jotka voivat laukaista pinon puskurin ylivuotoja.

Tunnetut hyökkäysvektorit

  • Rajoittamattomat sprintf/sscanf-kutsut luettaessa resoluutiomerkkijonon otsikoita ('-Y %d +X %d').
  • Keksin (heap) alueen ulkopuolinen kirjoitus virheellisen RLE-skannausrivin purkamisen aikana.
  • Kokonaisluvun ylivuoto varattaessa kohdemuistin 32-bittisiä liukulukupuskureita.

Parhaat puolustuskäytännöt:

Historia ja virstanpylväät

2000Paul Debevec tekee HDR-kuvapohjaisesta valaistuksesta (IBL) suosittua tietokonegrafiikassa Radiance .hdr-tiedostojen avulla.
1997Mukautuva skannausrivin juoksupituuskoodaus (RLE) standardoidaan tiedostokokojen pienentämiseksi.
1989Greg Ward keksii RGBE 32-bit pikselikoodauksen ja .hdr-muodon Lawrence Berkeley National Laboratoryssa.

Tärkeimmät edut

  • Kompakti 32-bittinen muistijalanjälki pikseliä kohden, samalla kun se kattaa 76 suuruusluokkaa fyysistä valon luminanssia.
  • Universaali tuki 3D-renderöintiohjelmistoissa (Blender, Unreal Engine, Unity, Cinema 4D) 360 asteen ympäristökartoille.
  • Yksinkertainen ja vakaa tiedostorakenne, joka on helppo toteuttaa kaikilla ohjelmistoalustoilla.

Tekniset rajoitukset

  • Kvantisointijuomua voi esiintyä äärimmäisen tummilla alueilla jaetun 8-bittisen eksponenttikoodauksen vuoksi.
  • RGB-kanavat eivät voi tallentaa negatiivisia lukuja tai mielivaltaisia monipassitasoja.
  • OpenEXR on syrjäyttänyt tämän suurelta osin monipassisten visuaalisten tehosteiden tuotannossa.

Mielenkiintoisia teknisiä faktoja

  • Jokainen Radiance HDR -tiedosto alkaa tekstitunnisteella '#?RADIANCE' tai '#?RGBE'.
  • Muoto luotiin simuloimaan fyysistä arkkitehtonista valaistusta rakennussuunnittelussa ennen rakenteiden pystyttämistä.
  • Paul Debevecin ikoninen vuoden 1997 SIGGRAPH-julkaisu 'Recovering High Dynamic Range Radiance Maps from Photographs' käytti tätä muotoa mullistaakseen CGI-valaistuksen.

Usein kysytyt tekniset kysymykset

Mihin HDRI-tiedostoa käytetään 3D-grafiikassa?

HDRI-tiedostoja (.hdr) käytetään 360 asteen panoraamaympäristökarttoina tarjoamaan fotorealistista todellisen maailman valaistusta, varjoja ja heijastuksia 3D-objekteille.

Miten RGBE 32-bittinen koodaus toimii?

Sen sijaan, että tallennettaisiin kolme erillistä liukulukua, RGBE käyttää 8 bittiä kukin punaiselle, vihreälle ja siniselle sekä jaettua 8-bittistä eksponenttia, jolloin täysi HDR-dynaaminen alue sahtuu vain 4 tavuun pikseliä kohden.

Voinko muuntaa HDR-tiedoston JPG-muotoon?

Kyllä. File2File.app pystyy sävykartoittamaan ja muuntamaan 32-bittiset Radiance HDR -tiedostot tavallisiksi JPG- tai PNG-kuviksi suoraan selaimessasi.