Radiance HDR (.hdr)
Radiance StandardníRadiance RGBE (HDR) je základní formát s vysokým dynamickým rozsachem (HDR) vyvinutý pro syntetický zobrazovací systém Radiance, který ukládá fotometricky přesné hodnoty svítivosti pomocí sdíleného 8bitového exponentu.
Zkontrolovat a metadata
Operační systémy a analyzátory souborů identifikují soubory HDR kontrolou počáteční binární sekvence bajtů:
Podpis hlavičky na úrovni bajtů (Magic Bytes)
Operační systémy a analyzátory souborů identifikují soubory HDR kontrolou počáteční binární sekvence bajtů:
HEXADECIMÁLNÍ PODPIS (OFFSET 0):
23 3F 52 41 44 49 41 4E 43 45 0AASCII REPREZENTACE: #?RADIANCE\n
Standardizace: Radiance Synthetic Imaging System Standard
Technické specifikace
| Architektura kontejneru | ASCII header ending with empty line followed by resolution string and binary RLE scanlines |
| Komprese | Adaptive adaptive run-length encoding (RLE) applied per-channel scanline |
| Endiantita bajtů | Big-Endian / Network byte order |
| Barevné prostory | Linear Rec.709 RGB with CIE chromaticity coordinates |
| Kanály a struktura | RGBE: Red, Green, Blue (8-bit mantissas) + shared 8-bit Exponent |
| Max. rozměry | Practically unlimited (32-bit unsigned resolution strings) |
| Průhlednost | None (physical radiant luminance measurements) |
| Streamování a progresivní načítání | Sequential scanline-by-scanline streaming playback |
Technická srovnávací matice: HDR vs konkurence
| Technický atribut | HDR (Aktuální) | EXR | TIFF | JPEG |
|---|---|---|---|---|
| Kódování pixelů | 32-bit RGBE (sdílený 8bitový exponent) | 16-bit half / 32-bit float na kanál | Celé číslo 8/16-bit nebo 32-bit float | 8bitové celé číslo s gama kódováním |
| Hlavní případ použití | 360stupňové osvětlení prostředí (IBL) | VFX kompozitování s vícenásobným průchodem | Fotografie a předtisková příprava | Standardní webová grafika |
| Rozsah dynamického rozsahu | 76 řádů velikosti (10^-38 až 10^38) | Prakticky nekonečný rozsah s plovoucí řádovou čárkou | Liší se podle bitové hloubky | Omezený 8bitový SDR rozsah |
| Podporované kanály | Pouze RGB | Neomezené libovolné kanály | Více libovolných kanálů | RGB / CMYK |
Běžné režimy poškození a příručka pro obnovení v hex
Obrázek zobrazuje horizontální pruhové pásy přes celou šířku snímku.
Hlavní příčina: Poškozený bajt počtu délky běhu při RLE dekompresi řádku.
Obnovení: Rekonstruujte poškozené značky řádků pomocí nástroje File2File HDR Repair nebo proveďte konverzi do formátu EXR.
Bezpečnostní analýza a vektory útoků na parser
Dekodéry Radiance HDR často analyzují řádky hlavičky ASCII pomocí nespoutaných řetězcových rutin, které mohou spustit přetečení vyrovnávací paměti zásobníku (stack buffer overflow).
Známé vektory útoků
- Nespoutaná volání sprintf/sscanf při čtení hlaviček řetězců rozlišení ('-Y %d +X %d').
- Zápis mimo přidělenou paměť haldy (heap out-of-bounds write) během dekódování poškozených RLE řádků.
- Přetečení celého čísla (integer overflow) při alokaci cílových 32bitových vyrovnávacích pamětí s plovoucí řádovou čárkou.
Doporučené bezpečnostní postupy:
Historický vývoj a milníky
Klíčové výhody a přednosti
- Kompaktní paměťová náročnost 32 bitů na pixel při pokrytí 76 řádů velikosti fyzické svítivosti světla.
- Univerzální podpora napříč 3D vykreslovacími balíčky (Blender, Unreal Engine, Unity, Cinema 4D) pro 360stupňové mapy prostředí.
- Jednoduchá a robustní struktura souborů, kterou lze snadno implementovat na všech softwarových platformách.
Technická omezení a nevýhody
- V extrémně tmavých oblastech může docházet k posterizaci kvůli kódování pomocí sdíleného 8bitového exponentu.
- Kanály RGB nemohou ukládat záporná čísla ani libovolné vrstvy pro vícenásobný průchod (multi-pass).
- Do značné míry nahrazen formátem OpenEXR pro produkci vizuálních efektů s vícenásobným průchodem.
Zajímavé technické drobnosti
- Každý soubor Radiance HDR začíná textovou hlavičkou '#?RADIANCE' nebo '#?RGBE'.
- Formát byl vytvořen za účelem simulace fyzického architektonického osvětlení při navrhování budov předtím, než byly stavby postaveny.
- Kultovní článek Paula Debeveca ze SIGGRAPH 1997 'Recovering High Dynamic Range Radiance Maps from Photographs' použil tento formát k revoluční změně CGI osvětlení.
Často kladené technické otázky
K čemu se v oblasti 3D grafiky používá soubor HDRI?
Soubory HDRI (.hdr) se používají jako 360stupňové panoramatické mapy prostředí k zajištění fotorealistického osvětlení v reálném světě, stínů a odrazů na 3D objektech.
Jak funguje 32bitové kódování RGBE?
Místo ukládání tří samostatných čísel s pohyblivou řádovou čárkou používá RGBE 8 bitů pro červenou, zelenou a modrou složku plus sdílený 8bitový exponent, čímž se plný dynamický rozsah HDR vejde do pouhých 4 bajtů na jeden pixel.
Mohu převést soubor HDR do formátu JPG?
Ano. File2File.app dokáže provést tónové mapování a převést 32bitové soubory Radiance HDR na standardní obrázky JPG nebo PNG přímo ve vašem prohlížeči.