OpenEXR 图像 (.exr)

Academy 标准

OpenEXR (EXR) 是电影和视觉特效 (VFX) 行业标准的动态范围高 (HDR) 图像格式,支持无限图层中的 16 位半精度浮点和 32 位浮点像素。

检查与元数据

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

选择或将文件拖放到此处

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

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

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

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

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

76 2F 31 01

ASCII 表示形式: v/1.

标准化: Academy Software Foundation (ASWF) Open Standard

技术规格

容器架构Extensible chunk-based container supporting arbitrary channels, parts, and deep data layers
压缩方式PIZ (wavelet), ZIP/ZIPS, RLE, B44/B44A, DWAA/DWAB (lossy DCT), and uncompressed
字节序Little-Endian (Intel x86)
色彩空间Linear ACEScg, ACES2065-1, Linear Rec.709, Arbitrary chromaticity coordinates
通道与结构Arbitrary channel names (R, G, B, A, Z-depth, Normal, WorldPos, MotionVectors, Cryptomatte)
最大尺寸Practically unlimited (supports tiled deep zoom and multi-gigapixel canvas bounds)
透明度Full floating-point alpha channel and deep-compositing volumetric sample arrays
流式传输与渐进式加载Scanline or tiled chunk streaming enables fast partial-frame reads and proxy rendering

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

技术属性EXR (当前)HDRTIFFPNG
动态范围16 位半精度与 32 位线性浮点8 位共享指数 (RGBE)整数 8/16 位或 32 位浮点标准 8 位 / 16 位整数
多通道通道无限的任意命名通道和部件仅限 RGB有限的图层支持仅限 RGBA
行业采用100% 通用 VFX 和好莱坞 3D 标准传统 3D 灯光 / 全景印前与摄影通用网络标准
色彩管理ACES 和 OpenColorIO 原生集成特设伽马 / 线性ICC 配置文件标签sRGB / ICC 标签

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

图像渲染完全黑暗或出现过曝的核白斑块。

根本原因: 缺少线性到 sRGB 的显示转换或错误的 ACES 色彩空间分配。

恢复方法: 在 File2File HDR 查看器中应用 ACEScg 或线性到 sRGB 色调曲线转换。

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

复杂的基于块的 OpenEXR 解析器必须严格验证通道定义和拼块边界,以防止内存安全问题。

已知攻击向量

  • libopenexr 中多通道缓冲区步长计算中的整数溢出。
  • PIZ 或 DWAA 压缩流解压期间的堆越界读取。
  • 通过深度嵌套的多部分块标头递归导致拒绝服务。

防御性最佳实践:

历史渊源与里程碑

2020OpenEXR 3.0 在学院软件基金会 (Academy Software Foundation) 下发布,实现了多线程现代化。
2013OpenEXR 2.0 引入了深度数据合成和多部分图像结构。
2003工业光魔 (Industrial Light & Magic) 在将 OpenEXR 用于《哈利·波特》后,在修改后的 BSD 许可证下对其进行了开源。
1999由 ILM 工程师 Florian Kainz、Rod Bogart 和 Drew Hess 创建,旨在取代 8 位的 Cineon/DPX。

核心优势与特点

  • 原生支持 16 位半浮点 (FP16) 和 32 位浮点 (FP32),可保留从直射阳光到黑暗阴影的极端亮度。
  • 任意多通道架构将所有 3D 渲染通道(精细层、漫反射、高光、深度、cryptomatte)封装在一个文件中。
  • 行业领先的 DWAA/DWAB 和 PIZ 压缩算法在无视觉损失的情况下实现不可思议的压缩效果。

技术局限与劣势

  • 保存未压缩的多层 4K/8K 32 位渲染通道时,文件体积庞大。
  • 在消费级软件进行多通道解压时,CPU 和内存开销较大。
  • 需要色彩管理变换(ACES 或 OCIO)才能在标准 sRGB 显示器上正确渲染。

趣味技术冷知识

  • 工业光魔专门为 OpenEXR 格式发明了 16 位"半精度"浮点数据类型。
  • 每个 EXR 文件的头四个魔术字节是 0x76 0x2F 0x31 0x01,在 ASCII 中转换为 'v/1\x01'。
  • OpenEXR 支持"深度数据",单个像素可以在穿过半透明烟雾和云层的不同距离处存储多个颜色和深度样本。

常见技术问题

为什么 OpenEXR 是好莱坞视觉特效的标准格式?

因为它存储了具有无限动态范围的 16 位和 32 位浮点光照值、多层 3D 渲染通道以及实现逼真视觉特效所需的深度合成信息。

EXR 中的半浮点和全浮点有什么区别?

半浮点(half float)每个颜色通道使用 16 位,提供 30 档动态范围,文件大小仅为完整 32 位浮点的一半,使其成为效果图的行业首选。

如何将 EXR 转换为标准的 PNG 或 JPG?

您可以使用 File2File.app 直接在网页浏览器中将 EXR 文件转换为经过色调映射的 PNG 或 JPG 图像。