照明的圣杯:来自工业光魔的HDRI格式——OpenEXR(2005.02)
一HDR常见格式与OpenEXR的提出
不同的公司采用不同的HDR格式,常见的有:
Pixar Log Encoding (TIFF)
Radiance RGBE Encoding (HDR)
SGI 24位和32位LogLuv (TIFF)
ILM OpenEXR
Microsoft/HP scRGB
二OpenEXR的基本特性
OpenEXR由工业光魔在制作“时光机器”中为了解决Morlock在黑暗的洞穴里飞跑时地底世界的阴暗部分和明亮部分的细节问题而首次提出,并在哈里
波特和魔法石、黑衣人II、纽约黑帮和灵异象限等四部动画片中得到运用。在2004年5月首次发布官方版(包括源代码),并在8月的Siggraph
2004 作"OpenEXR, Film and Color"的报告。
2000年,ILM对现存的图形格式进行了评估,但是基于下面几个原因最终放弃了他们:
8bit--10bit缺乏足够的动态范围,16bit整数格式无法容纳那些电影负片和其他HDR设备捕捉的数据,32bit浮点tiff会占用太多的和 硬盘容量。因此,ILM决定自己开发16bit浮点色彩值的新的HDR格式,OpenEXR定义的FP16是参照IEEE 754中FP32格式进行精简后定义的,因此FP16也被称为“半精度”(FP32是单精度,FP64是双精度)。半精度的表达式是SM10E5,主要是 存储光线的数据与信息。这种格式与NVIDIA's Cg 图形语言所采用的半数据类型兼容,并支持开发者在GeForce FX and Quadro FX 3D 等GPUs 上处理OpenEXR的图象。
OpenEXR的基本特性:
①30 f-stops的无损压缩,加上低端额外的10 f-stops(有损),16位浮点每f-stops 1024的步幅,超过现存的8- and 10位图像的高动态范围和色彩精度。
②当前支持三种数据类型:半16位浮点、32位 IEEE-754浮点、32位整数像素。16位浮点与新型显卡的16位帧缓存数据格式xx兼容,NVIDIA's Cg语言的半数据类型兼容,在图形卡硬件中转换时不会有数据损失。
③ 支持多种无损压缩运算法则,甚至是2:1胶片颗粒的无损压缩率。支持流行的PIZ(35%--55%的{zj0}无损压缩率,压缩与解压速度相当,适合扫描线为 基础的文件),ZIP(35%--55%的无损压缩率,解压比压缩快,是材质贴图的{zj0}方法)、RLE(60%---75%的压缩率,快速,比较适合大平 面区域)等无损压缩方式,最近又增加了新的压缩代码——Pixar动画工作室的Pxr24,能xx的保留典型的“半”和整数类型的图片的通道,但浮点数据 相对误差会有所增加,适合于深度缓冲图片的有损压缩;
④OpenEXR可以包含任意数量的通道或者通道的组合,除了通常的RGBA, 还有Y, U, V (亮度和两个二次取样色度通道), 深度, 曲面法线方向, 运动矢量等。
⑤ 具有可扩展性。能储存额外数据,有时需要额外数据来注释图片,诸如色彩平衡信息、处理跟踪数据、摄像机位和方向等。OpenEXR 允许储存任意数量的额外属性,如为了实现场景相关scene-referred,增加了inputMedium, sceneReferredSpace, outputMedium,reference Display等属性。新的压缩类型、图片类型、图片属性很易于增加到 C 类库和头文件中。
三 OpenEXR的应用
OpenEXR
作为一种很有前途的HDR格式,引起电影制作、计算机游戏开发、建筑可视化、商业以及工业设计公司的极大兴趣,很多公司都相继开发了接口程序。
四 结论与展望——OpenEXR的未来
当前流行HDR格式有很多,比如Alias|WaveFront IFF、Cineon/DPX、mental ray
map、mental ray .ct 、Lightwave FLX、Radiance RGBE、32 bit LogLUV Ttiff
,以及来自佳能或尼康等数码相机的RAW CCD
文件。它们各有优劣,最通行的应该是普通的HDR,它以RGBE对的形式、RLE的压缩方法存储高动态信息。RGB三个通道共享同样的曝光值,这意味着它
的色彩保真度很低,而且它不能存储Alpha通道。即使采用单独的360度26
f-stops的图片合成的{zj0}效果的HDR图片也是如此。与此形成对比的是,OpenEXR每个通道以半或全浮点的方式存储信息,在原始数据上占用更多
的空间,近乎xx的无损压缩,具有很高的色彩保真度。OpenEXR不仅能存储Alpha
、G-Buffer还能根据需要存储任何你所想要的通道。HDR在头文件里只能存储少量信息,OpenEXR以字符串的形式存储,可以有无限量。ISO
标准的 C 使它很易于跨操作系统平台,OpenEXR 基于Linux上开发,现在已经被移植到SGI、Windows以及MAC
OS10,工业光魔开放原代码的方式引起很多组织和个人的兴趣,很多人正在着手开发应用程序,例如Billy
Biggs编写了批量处理OpenEXR的小工具Exrtools,用于调和映射(tone
mapping)以及PPM、JPEG、PNG等格式转换等。在Siggraph
2004上,工业光魔提出场景相关scene-referred的标准替代输出相关output
referred,从数码相机或扫描电影胶片等不同途径获取的原始数据通过“媒体——场景相关转换IMSR——输出媒体转换SROM——相关显示转换
OMRD——预览显示转换RDPD”等过程中,色彩转换语言CTL(color transformation
language)在读写OpenEXR头文件中的等相关属性时,通过调和映射自动还原为最初的色彩空间,从而更好的管理色彩。随着时间的推移,越来越多
的公司支持OpenEXR,对于HDR来说,它也许会在新的时代走完它的历史。
参考文献:
1 High Dynamic Range
Imaging
Greg Ward May 21, 2001
2 High Dynamic Range Image
Encodings
Greg Ward, Anyhere Software www.openexr.com
3 The OpenEXR File
Format
www.openexr.com
4 Siggraph 2001 Course #14 - Image-Based
Lighting
http://www.debevec.org/IBL2001
5 Rendering Synthetic Objects into Real Scenes:Bridging Traditional and Image-based Graphics with Global Illuminationand High Dynamic Range Photography Paul
Debevec Siggraph98
6 OpenEXR Bitmap I/O Plugin for 3dsMax SplutterFish
LLC Legal Stuff
7 从单幅高动态范围图像恢复环境中物体的材质 孙其民, 吴恩华
软件学报2002 Vol.13, No.9
8 The opengl shading language bill licea-kane ATI
reseach, inc.
相关文章:
一HDR常见格式与OpenEXR的提出
不同的公司采用不同的HDR格式,常见的有:
Pixar Log Encoding (TIFF)
Radiance RGBE Encoding (HDR)
SGI 24位和32位LogLuv (TIFF)
ILM OpenEXR
Microsoft/HP scRGB
二OpenEXR的基本特性
8bit--10bit缺乏足够的动态范围,16bit整数格式无法容纳那些电影负片和其他HDR设备捕捉的数据,32bit浮点tiff会占用太多的和 硬盘容量。因此,ILM决定自己开发16bit浮点色彩值的新的HDR格式,OpenEXR定义的FP16是参照IEEE 754中FP32格式进行精简后定义的,因此FP16也被称为“半精度”(FP32是单精度,FP64是双精度)。半精度的表达式是SM10E5,主要是 存储光线的数据与信息。这种格式与NVIDIA's Cg 图形语言所采用的半数据类型兼容,并支持开发者在GeForce FX and Quadro FX 3D 等GPUs 上处理OpenEXR的图象。
①30 f-stops的无损压缩,加上低端额外的10 f-stops(有损),16位浮点每f-stops 1024的步幅,超过现存的8- and 10位图像的高动态范围和色彩精度。
②当前支持三种数据类型:半16位浮点、32位 IEEE-754浮点、32位整数像素。16位浮点与新型显卡的16位帧缓存数据格式xx兼容,NVIDIA's Cg语言的半数据类型兼容,在图形卡硬件中转换时不会有数据损失。
③ 支持多种无损压缩运算法则,甚至是2:1胶片颗粒的无损压缩率。支持流行的PIZ(35%--55%的{zj0}无损压缩率,压缩与解压速度相当,适合扫描线为 基础的文件),ZIP(35%--55%的无损压缩率,解压比压缩快,是材质贴图的{zj0}方法)、RLE(60%---75%的压缩率,快速,比较适合大平 面区域)等无损压缩方式,最近又增加了新的压缩代码——Pixar动画工作室的Pxr24,能xx的保留典型的“半”和整数类型的图片的通道,但浮点数据 相对误差会有所增加,适合于深度缓冲图片的有损压缩;
④OpenEXR可以包含任意数量的通道或者通道的组合,除了通常的RGBA, 还有Y, U, V (亮度和两个二次取样色度通道), 深度, 曲面法线方向, 运动矢量等。
⑤ 具有可扩展性。能储存额外数据,有时需要额外数据来注释图片,诸如色彩平衡信息、处理跟踪数据、摄像机位和方向等。OpenEXR 允许储存任意数量的额外属性,如为了实现场景相关scene-referred,增加了inputMedium, sceneReferredSpace, outputMedium,reference Display等属性。新的压缩类型、图片类型、图片属性很易于增加到 C 类库和头文件中。
三 OpenEXR的应用
四 结论与展望——OpenEXR的未来
参考文献:
1
2
3
4
5 Rendering Synthetic Objects into Real Scenes:Bridging Traditional and Image-based Graphics with Global Illuminationand High Dynamic Range Photography
6 OpenEXR Bitmap I/O Plugin for 3dsMax
7 从单幅高动态范围图像恢复环境中物体的材质
8 The opengl shading language bill licea-kane
已投稿到: |
|
---|