ML Blog

雕刻时光
Sculpting in time

Do one thing and do it well.
Every story has a beginning and an end.

1 分钟

小插曲

早一个月以前,我在找寻关于工业光魔的书籍时,发现了一本宝藏书《The Art of Film Magic》,里面主要讲述了Weta Workshop最近20年的电影特效成果,我想通过国内的购买渠道购买这一套书籍,最后发现书中部分内容因为和中国法律有冲突,书中冲突部分的内容被第三方做了撕页处理,于是我找到了Weta Workshop的官方商店,直接从欧洲购买这套书籍,然后经过UPS的转运,昨天顺利到达。

是的,电影工业确实是一门魔术,是一门具有艺术性的魔术,艺术与科技相结合才有了呈现在大银幕上的电影。那么今天我想介绍一款工具OpenEXR,它是工业光魔在1999年开发的数字图片存储格式,存储具有高动态范围场景数据。

设计

OpenEXR的特点:

  • 高动态范围,我们也可以表示为High Dynamic Range,EXR图像中的像素数据以16bit或者32bit的浮点数存储。

  • 相比于8bit数据存储的图像,EXR对于调色更加友好,尤其是进行大幅度的色彩调整,使用EXR的图像不会出现条带化现象。

  • 无损压缩,EXR提供很多的压缩算法,降低存储成本,同时像素数据不会随之流失。

  • 多通道存储,EXR可以存储图像的多通道数据,除了常见的Red Green Blue Alpha,还有场景的深度信息,物体表面法线方向,高光通道等等。

  • 能够更好的与C C++进行交互,EXR提供C C++接口,方便外部应用读写EXR文件。

EXR色彩管理

OpenEXR图像通常是Scene-referred(场景参考),相对于Display-referred,我们做一个简单的介绍,显示参考我们是以某个显示标准为图像的色彩显示,比如使用相机拍摄sRGB图片,那么在100%sRGB的显示器上,我们看到的图像色彩和现实场景中的是一样的,但是拿到Rec709的显示器上,图像会与我们的sRGB显示器有区别,这就是显示参考,我们依据显示的标准来标定图像的正确色彩,场景参考就是不管我们用什么摄影机拍摄,用什么样的显示器显示,最终对于同一个场景,所得到的图像结果都是一致的,场景参考的色彩存储都是和现实世界的光照成线性比例的,在有关ACES色彩管理的文章中我们介绍过这一点。OpenEXR只是一个数据存储的容器,不论你用什么摄影机拍摄,整个场景的信息都能够存储在EXR文件中,为了后期能够方便的显示和处理图像,我们需要对OpenEXR进行色彩管理,不像Jpeg,PNG格式的图像,他们都是内嵌色彩信息,比如图像的色彩空间是sRGB或者Rec709,Gamma是sRGB或者Gamma2.2,这些数据在OpenEXR里面都是不存在的,因为后者都是依赖于显示参考,而EXR是场景参考。以下是我根据2004年工业光魔发表的一篇文章《A Proposal for OpenEXR Color Management》做为参考来理解OpenEXR的色彩管理科学。

将摄影数据存储在OpenEXR之前,我们都要进行场景线性化的转换,数字电影机的RAW就是摄影机所能看到的场景中的所有数据,已经是场景线性参考了,所以存储到OpenEXR不需要进行线性转换,当在OpenEXR中处理完成图像数据之后,我们需要将场景参考转换到显示参考,这样我们就能在各种显示器上正确查看图像的色彩。

最新文章

分类

关于

不断的学习思考, 保持好奇心
Keep thinking, Stay curious
始终保持对于新事物的敏感
Always be sensitive to new things