Co to jest format pliku HDR?
Plik .hdr to obraz rastrowy Radiance HDR (High Dynamic Range), opracowany przez Grega Warda w Lawrence Berkeley National Laboratory jako część systemu symulacji oświetlenia Radiance pod koniec lat 80. Format ten był pierwotnie przechowywany z rozszerzeniem .pic, zanim .hdr stał się standardem.
Każdy piksel jest kodowany przy użyciu RGBE - trzech 8-bitowych wartości mantysy dla kanałów czerwonego, zielonego i niebieskiego oraz jednego wspólnego 8-bitowego wykładnika. Pozwala to na upakowanie pełnego zmiennoprzecinkowego piksela HDR w zaledwie 4 bajtach, reprezentując zakres dynamiczny obejmujący około 76 rzędów wielkości (~10⁻³⁸ do 10³⁸). Wadą jest to, że wszystkie trzy kanały dzielą jeden wykładnik, więc precyzja na kanał jest niższa niż w formatach takich jak OpenEXR, który przechowuje prawdziwe 16- lub 32-bitowe liczby zmiennoprzecinkowe na kanał i obsługuje wiele warstw.
Plik zaczyna się od nagłówka ASCII zawierającego sygnaturę #?RADIANCE (niektóre narzędzia zapisują zamiast tego #?RGBE - oba są poprawne). Po bloku zmiennych klucz=wartość i linii rozdzielczości, dane pikseli są przechowywane jako linie skanowania kodowane metodą RLE (run-length encoding). Obsługiwane jest również alternatywne kodowanie luminancji: ustawienie pola nagłówka FORMAT na 32-bit_rle_xyze przełącza z przestrzeni kolorów RGB na CIE XYZ.
Pliki .hdr są szeroko stosowane jako mapy otoczenia HDRI w renderowaniu 3D i silnikach gier, gdzie wysoka rozpiętość tonalna umożliwia dokładne oświetlenie oparte na obrazie (IBL). Są obsługiwane przez Blender, GIMP, Adobe Photoshop i większość potoków renderowania w czasie rzeczywistym. W profesjonalnej produkcji VFX, wymagającej precyzji zmiennoprzecinkowej na kanał i obsługi wielu warstw, standardem branżowym stał się w dużej mierze OpenEXR.
Bezpieczeństwo
RYZYKO: LOWPlik Radiance .hdr jest pasywnym obrazem - nie zawiera skryptów, makr ani treści wykonywalnych - więc sam plik nie jest wektorem złośliwego oprogramowania. Jedyne praktyczne środki ostrożności to duże rozmiary plików dla map HDRI o wysokiej rozdzielczości oraz rzadkie błędy parserów bibliotek graficznych; aktualizuj swój edytor. Unikaj podejrzanych stron „darmowy konwerter HDR”, które dołączają adware - GIMP, Krita, Blender i Photopea zaspokajają te potrzeby za darmo.
Szczegóły formatu
w pigułce- Analog Devices / Mentor SPICE .hdr (dane nagłówka) - Niektóre narzędzia EDA i danych zapisują tekstowy plik pomocniczy .hdr z nagłówkiem/metadanymi - niepowiązany z obrazowaniem.
- Nagłówek ENVI / teledetekcja .hdr - Nagłówki rastrowe ENVI używają .hdr jako tekstowego pliku pomocniczego opisującego towarzyszący surowy obraz, a nie obraz Radiance.
- Zasoby silników gier / instalacyjne '.hdr' - Czasami silnik nazywa spakowaną mapę sześcienną HDR lub ogólny plik nagłówkowy rozszerzeniem .hdr.
Programy otwierające pliki HDR
Szczegóły techniczne
specyfikacja| Schemat kodowania | RGBE - 8-bitowa mantysa na kanały R, G, B plus jeden wspólny 8-bitowy wykładnik; pakuje piksel HDR w dokładnie 4 bajty |
| Zakres dynamiczny | ~76 rzędów wielkości (~10⁻³⁸ do 10³⁸); odpowiednik około 25+ stopni przysłony fotograficznej |
| Sygnatura pliku | ASCII `#?RADIANCE` po którym następuje nowa linia (0x0A) na offsetcie 0; `#?RGBE` na offsetcie 0 jest równie poprawne i powszechnie stosowane |
| Kompresja | Adaptacyjne kodowanie długości serii (RLE) linii skanowania; specyfikacja dopuszcza również płaskie (nieskompresowane) przechowywanie linii |
| Format nagłówka | Zwykły blok zmiennych ASCII klucz=wartość (FORMAT, EXPOSURE, COLORCORR, PRIMARIES, SOFTWARE itp.) zakończony pustą linią |
| Linia rozdzielczości | Koduje szerokość, wysokość i orientację, np. `-Y 512 +X 1024`; obsługiwane są wszystkie cztery kombinacje obrotu/odbicia |
| Kodowanie kolorów | `32-bit_rle_rgbe` (liniowy RGB, domyślny) i `32-bit_rle_xyze` (wariant luminancji CIE XYZ), wybierane przez pole nagłówka `FORMAT` |
| Typ MIME | `image/vnd.radiance` (zarejestrowany w IANA); `image/x-hdr` jest powszechnie używaną nieformalną alternatywą |
| Kolejność bajtów | Neutralna względem endianowości; dane pikseli składają się z pojedynczych bajtów przechowywanych na piksel bez wielobajtowych pól całkowitych |
| Typowy rozmiar pliku | 1 MB - 30 MB; panoramiczne mapy otoczenia HDRI w rozdzielczościach takich jak 8192×4096 osiągają górny zakres |
| Limit wymiarów | Brak sztywnego limitu formatu; szerokość i wysokość są przechowywane jako zwykłe liczby dziesiętne w linii nagłówka rozdzielczości |
| Przestrzeń kolorów | Światło liniowe bez osadzonej krzywej gamma; pola nagłówka EXPOSURE i COLORCORR przenoszą metadane korekcji odniesione do sceny |
| Kanał alfa | Nieobsługiwany; ani kodowanie RGBE, ani XYZE nie zawiera płaszczyzny przezroczystości ani alfa |
| Precyzja na kanał | ~8 bitów względnej precyzji na kanał ze względu na wspólny wykładnik; bezwzględna dokładność zależy od wartości ekspozycji sceny |
| Historyczne rozszerzenie | `.pic` było używane w oryginalnym systemie oświetlenia Radiance; `.hdr` stało się dominujące, gdy format rozprzestrzenił się na narzędzia graficzne i 3D |
| Wydano | 1985-1989 (Radiance lighting simulation system); .pic originally, later .hdr |
| Najnowsza wersja | RGBE/XYZE encoding (stable; format essentially unchanged) |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | floyd.lbl.gov |
Konwersje HDR
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki HDR.