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.

Kontrola a metadata

Operační systémy a analyzátory souborů identifikují soubory HDR kontrolou počáteční binární sekvence bajtů:

Vyberte nebo přetáhněte soubory sem

Soukromě - soubory nikdy neopustí vaše zařízení

nebo vložte Ctrl+V
Záruka ochrany soukromí s nulovým přenosem po síti: 0 bajtů odesláno na externí servery. Veškeré zpracování probíhalo lokálně v sandboxu vašeho prohlížeče.

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 (POSUN 0):

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

ASCII REPREZENTACE: #?RADIANCE\n

Standardizace: Radiance Synthetic Imaging System Standard

Technické specifikace

Architektura kontejneruHlavička ASCII končící prázdným řádkem, po ní řetězec s rozlišením a binární řádky kódované pomocí RLE
KompreseAdaptivní kódování délek běhů (RLE) aplikované na každý řádek jednotlivých kanálů
Pořadí bajtůBig-endian / síťové pořadí bajtů
Barevné prostoryLineární RGB Rec.709 se souřadnicemi chromatičnosti CIE
Kanály a strukturaRGBE: červená, zelená a modrá (8bitové mantisy) a sdílený 8bitový exponent
Max. rozměryPrakticky neomezené (řetězce rozlišení používají 32bitová celá čísla bez znaménka)
PrůhlednostŽádná (měření fyzického zářivého jasu)
Streamování a progresivní načítáníPostupné přehrávání po jednotlivých řádcích

Technická srovnávací matice: HDR vs konkurence

Technický atributHDR (Aktuální)EXRTIFFJPEG
Kódování pixelů32bitové RGBE (sdílený 8bitový exponent)16bitový half / 32bitový float na kanál8/16bitové celé číslo nebo 32bitový float8bitové 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ůchodemFotografie a předtisková přípravaStandardní webová grafika
Dynamický rozsah76 řádů velikosti (10^-38 až 10^38)Prakticky nekonečný rozsah s plovoucí řádovou čárkouLiší se podle bitové hloubkyOmezený 8bitový SDR rozsah
Podporované kanályPouze RGBNeomezený počet libovolných kanálů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 vodorovné pruhy přes celou šířku snímku.

Hlavní příčina: Poškozený bajt udávající délku běhu při dekompresi řádku pomocí RLE.

Obnovení: Rekonstruujte poškozené značky řádků pomocí nástroje File2File.app 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í neomezených řetězcových funkcí, které mohou způsobit přetečení zásobníkové vyrovnávací paměti.

Známé vektory útoků

  • Volání sprintf/sscanf bez omezení délky při čtení hlaviček řetězců rozlišení ('-Y %d +X %d').
  • Zápis mimo vyhrazenou oblast haldy 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 bufferů s plovoucí řádovou čárkou.

Doporučené bezpečnostní postupy: Před alokací obrazových vyrovnávacích pamětí ověřte délku hlavičky ASCII a rozměry řádků obrazu.

Historický vývoj a milníky

2000Paul Debevec zpopularizoval HDR osvětlení na základě obrazu (IBL) v počítačové grafice pomocí souborů .hdr programu Radiance.
1997Standardizováno adaptivní kódování délky běhu (RLE) řádků za účelem zmenšení velikosti souborů.
1989Greg Ward vynalezl 32bitové kódování pixelů RGBE a formát .hdr v Lawrence Berkeley National Laboratory.

Klíčové výhody a přednosti

  • Při kompaktní paměťové náročnosti 32 bitů na pixel pokrývá 76 řádů velikosti fyzické luminance světla.
  • Podporuje jej řada 3D vykreslovacích balíků pro environmentální mapy; podpora závisí na aplikaci.
  • Poměrně kompaktní struktura souboru, kterou lze implementovat v softwaru s podporou formátu Radiance HDR.

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' využil tento formát k revoluci v osvětlení CGI.

Č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í, stínů a odrazů podle skutečného prostředí 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, a díky tomu se celý 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.