Radiance HDR 图像 (.hdr)

Radiance 标准

Radiance RGBE (HDR) 是为 Radiance 合成成像系统开发的基础高动态 range 格式,它使用共享的 8 位指数来存储光度学精确的亮度值。

检查与元数据

操作系统和文件分析器通过检查开头的二进制字节序列来识别 HDR 文件:

选择或将文件拖放到此处

100% 浏览器端私密转换 - 文件绝不会离开您的设备

或粘贴 Ctrl+V
零网络传输隐私保证: 上传至外部服务器的数据为 0 字节。所有处理均在您的浏览器沙箱中本地完成。

字节级文件头签名 (Magic Bytes)

操作系统和文件分析器通过检查开头的二进制字节序列来识别 HDR 文件:

十六进制签名 (偏移量 0):

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

ASCII 表示形式: #?RADIANCE\n

标准化: Radiance Synthetic Imaging System Standard

技术规格

容器架构ASCII header ending with empty line followed by resolution string and binary RLE scanlines
压缩方式Adaptive adaptive run-length encoding (RLE) applied per-channel scanline
字节序Big-Endian / Network byte order
色彩空间Linear Rec.709 RGB with CIE chromaticity coordinates
通道与结构RGBE: Red, Green, Blue (8-bit mantissas) + shared 8-bit Exponent
最大尺寸Practically unlimited (32-bit unsigned resolution strings)
透明度None (physical radiant luminance measurements)
流式传输与渐进式加载Sequential scanline-by-scanline streaming playback

技术对比矩阵:HDR 对比同类产品

技术属性HDR (当前)EXRTIFFJPEG
像素编码32位 RGBE(共享8位指数)每通道 16 位半精度 / 32 位浮点数整数 8/16 位或 32 位浮点数8位伽马编码整数
主要使用场景360 度环境照明 (IBL)VFX 多通道合成摄影与印前标准网络图形
动态 range 范围76 个数量级 (10^-38 到 10^38)实际上无限的浮点范围随位深而变化有限的 8 位 SDR 范围
支持的通道仅 RGB无限任意通道多个任意通道RGB / CMYK

常见损坏模式与十六进制恢复指南

图像在整个帧宽度上显示水平条纹带。

根本原因: 扫描行 RLE 解压缩中出现损坏的运行长度计数字节。

恢复方法: 使用 File2File HDR Repair 重建损坏的扫描行标记,或转换为 EXR。

安全分析与解析器攻击向量

Radiance HDR 解码器通常使用无边界字符串例程解析 ASCII 标头行,这可能会触发栈缓冲区溢出。

已知攻击向量

  • 读取分辨率字符串标头('-Y %d +X %d')时发生无边界 sprintf/sscanf 调用。
  • 在格式错误的 RLE 扫描行解码期间发生堆越界写入。
  • 分配目标 32 位浮点缓冲区时发生整数溢出。

防御性最佳实践:

历史渊源与里程碑

2000保罗·德贝韦克(Paul Debevec)使用 Radiance .hdr 文件在计算机图形学中普及了高动态 range 基于图像的照明(IBL)。
1997标准化自适应扫描行运行长度编码,以减小文件大小。
1989格雷格·沃德(Greg Ward)在劳伦斯伯克利国家实验室发明了 RGBE 32 位像素编码和 .hdr 格式。

核心优势与特点

  • 每个像素占用紧凑的 32 位内存空间,同时跨越 76 个数量级的物理光亮度。
  • 3D 渲染软件包(Blender、Unreal Engine、Unity、Cinema 4D)对 360 度环境贴图提供普遍支持。
  • 文件结构简单、稳健,易于在所有软件平台上实现。

技术局限与劣势

  • 由于采用了共享的 8 位指数编码,极暗区域可能会出现量化条带。
  • RGB 通道无法存储负数或任意多通道图层。
  • 在多通道视觉特效制作中,很大程度上已被 OpenEXR 取代。

趣味技术冷知识

  • 每个 Radiance HDR 文件都以文本标头 '#?RADIANCE' 或 '#?RGBE' 开头。
  • 该格式的创建旨在建筑物建造前,模拟建筑设计中的物理建筑照明。
  • 保罗·德贝韦克(Paul Debevec)于 1997 年发表的标志性 SIGGRAPH 论文《从照片中恢复高动态 range 辐射度贴图》使用该格式彻底革新了 CGI 照明。

常见技术问题

在 3D 中 HDRI 文件用于什么?

HDRI (.hdr) 文件用作 360 度全景环境贴图,为 3D 对象提供逼真的现实世界光照、阴影和反射。

RGBE 32 位编码是如何工作的?

RGBE 没有存储三个独立的浮点数,而是为红色、绿色和蓝色分别使用 8 位,外加一个共享的 8 位指数,将完整的 HDR 动态范围压缩到每个像素仅 4 个字节。

我可以将 HDR 转换为 JPG 吗?

可以。File2File.app 可以在浏览器中直接对 32 位 Radiance HDR 文件进行色调映射,并将其转换为标准的 JPG 或 PNG 图像。