Radiance HDR (.hdr)
Radiance StandardiRadiance 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:
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 0AASCII-ESITYSTAPA: #?RADIANCE\n
Standardointi: Radiance Synthetic Imaging System Standard
Tekniset tiedot
| Säiliöarkkitehtuuri | ASCII header ending with empty line followed by resolution string and binary RLE scanlines |
| Pakkaus | Adaptive adaptive run-length encoding (RLE) applied per-channel scanline |
| Tavujärjestys (Endianness) | Big-Endian / Network byte order |
| Väriavaruudet | Linear Rec.709 RGB with CIE chromaticity coordinates |
| Kanavat ja rakenne | RGBE: Red, Green, Blue (8-bit mantissas) + shared 8-bit Exponent |
| Suurimmat mitat | Practically unlimited (32-bit unsigned resolution strings) |
| Läpinäkyvyys | None (physical radiant luminance measurements) |
| Suoratoisto ja progressiivinen lataus | Sequential scanline-by-scanline streaming playback |
Tekninen vertailumatriisi: HDR vs. kilpailijat
| Tekninen attribuutti | HDR (Nykyinen) | EXR | TIFF | JPEG |
|---|---|---|---|---|
| Pikselikoodaus | 32-bit RGBE (jaettu 8-bit eksponentti) | 16-bit half / 32-bit float per kanava | Kokonaisluku 8/16-bit tai 32-bit float | 8-bit gammakoodattu kokonaisluku |
| Ensisijainen käyttötarkoitus | 360 asteen ympäristövalaistus (IBL) | VFX-monipassikompositointi | Valokuvaus ja prepress | Standardi verkkografiikka |
| Dynaamisen alueen laajuus | 76 suuruusluokkaa (10^-38 - 10^38) | Käytännössä rajaton liukulukualue | Vaihtelee bittisyvyyden mukaan | Rajoitettu 8-bit SDR-alue |
| Tuetut kanavat | Vain RGB | Rajoittamattomat mielivaltaiset kanavat | Useita mielivaltaisia kanavia | RGB / 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
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.