OpenEXR

一种开放标准的高动态范围图像格式

OpenEXR,或簡稱為exr格式,是一種開放標準高動態範圍圖像格式,在計算機圖形學里被廣泛用於存儲圖像數據,但也可以存儲一些後期合成處理所需的數據。OpenEXR最早由光影魔幻工業開發,並在一個類似BSD許可證自由軟件許可證下發佈,其發佈的軟件包裏帶有一些處理exr圖像格式的工具。[2]

OpenEXR
副檔名
.exr
網路媒體型式image/x-exr
統一類型標識com.ilm.openexr-image[1]
開發者光影魔幻工業
首次發佈1999年,​25年前​(1999
最新版本
3.2.3
2024年3月7日,​8個月前​(2024-03-07
格式類型高動態範圍圖像
自由格式是,BSD許可證修改版
網站www.openexr.com 編輯維基數據鏈接

最早使用OpenEXR格式的電影,是哈利·波特與魔法石,從那以後,OpenEXR成了光影魔幻工業主要使用的圖像文件格式,光影魔幻工業所有正在製作的影片都用到了這個圖像格式。[3]

OpenEXR的多級解像度和任意數據通道存儲使其非常適合用於合成,它能把高光(specular)、漫射(diffuse)、陰影、Alpha通道RGB法線和其他對後期合成有用的數據存儲於一個文件里,如果對三維渲染出來的圖像畫面高光或漫射不滿意,合成師可以根據導演要求在合成軟件里對指定的通道進行調整。

OpenEXR特性

可存儲比常規的8位和10位圖像格式更高的動態範圍和顏色精度。 支持16位浮點數、32位浮點數和32位整數的像素顏色值。16位浮點數格式,光影魔幻工業稱之為半浮點數,它表示的顏色數值,由一個符號位,五個指數位和十個浮點數位組成,這使其能存儲超過30級曝光的動態圖像亮度範圍,它和英偉達Cg語言的半浮點數類型兼容,並且他們最新的GeForce FXQuadro FX 3D圖形卡也內置支持exr格式。

OpenEXR支持多種無損有損圖像壓縮算法,一些內置的編碼,在壓縮帶有膠片顆粒的圖像時,能達到2:1的無損壓縮率。

支持的壓縮算法

OpenEXR內置三種無損壓縮算法,包括兩種不同的zip壓縮算法,對於沒有很多噪點的圖像,這兩種zip壓縮方法最有效,而PIZ壓縮算法則更適合於噪點較多的圖像,渲染exr格式圖像時通常有以下壓縮選項:

None
無壓縮。
RLE
這是一種和TGA圖像格式的標準壓縮算法相似的一種壓縮算法。
zip(單行)
對單行像素信息使用zip方式的壓縮。
zip(16行像素塊)
這是對16行像素塊進行的zip方式壓縮,對膠片噪點不多的計算機繪製圖像是最有效的壓縮算法。
PIZ(小波壓縮)
這是一種新的結合小波和霍夫曼編碼的壓縮算法,對噪點比較多的圖像最為有效。
PXR24(24位數據轉換後再進行zip壓縮)
這個來自皮克斯的壓縮算法,先把數據轉換為24位,再進行zip壓縮,它對於16位和32位整數值數據是無損的,但對於32位浮點數據則有輕微損失。
B44
這對半浮點數數據是有損的,對32位浮點數據則不進行壓縮。
B44A
對相同顏色的區域進行進一步壓縮,是對B44的擴展,常規B44壓縮則無視圖像的內容。

可擴展,通過擴展exr的C++類,可以支持新的壓縮編碼和圖像類型;新的圖像屬性(字符串、向量、整數等),可添加到exr圖像的文件頭裏,而不破壞已有軟件包的兼容性。

要了解OpenEXR的完整技術信息,請參閱openexr.org網站的技術文檔。[4]

OpenEXR源碼組件

OpenEXR發佈的源碼里,包括以下幾個部分:

  • IlmImf,一個讀寫exr圖像的程式庫;
  • Half,一個C++類,可以像操作其他C++內置數據類型那樣,操作半浮點數值;
  • Imath,一個數學程式庫,支持矩陣,二維和三維變換,線性、二次和三次方程組求解等;
  • exrdisplay,一個顯示exr圖像的示例程式。

歷史

OpenEXR由光影魔幻工業於2000年開發,並於2003年公開發布。[5]

2012年6月18日,第一個公開測試版OpenEXR 2.0發佈,引入了深度數據英語Deep image compositing支持,並支持把多個獨立但相關的圖像存儲在單個文件里,並且可以單獨讀取各部分。[6]

2013年4月9日,光影魔幻工業和維塔數碼一起發佈了OpenEXR 2.0版。除了測試版引入的新功能外,OpenEXR 2.0還引入了名字空間支持,以避免不同軟件包不同文件版本之間的衝突。有多家公司對這個版本的OpenEXR做出了貢獻,皮克斯微軟公共許可證下貢獻出了他們的DtexToExr轉換工具代碼,排除了可能的專利爭議;Autodesk為實時後期製作流程提供了優化。[7]

參考資料

  1. ^ CGImageSource.SupportedTypes. Claris FileMaker MBS Plug-in. MonkeyBread Software. [2024-03-10]. (原始內容存檔於2020-12-30). 
  2. ^ OpenEXR许可证, openexr.com, [2013-01-15], (原始內容存檔於2012-07-22) 
  3. ^ OpenEXR官网, openexr.com, [2013-01-15], (原始內容存檔於2013-01-16) 
  4. ^ OpenEXR文档, openexr.com, [2013-01-15], (原始內容存檔於2013-05-08) 
  5. ^ OpenEXR历史 (郵件列表). openexr.com. [2013-01-15]. (原始內容存檔於2013-05-08). 
  6. ^ Stanczyk, Piotr. OpenEXR v2 news. openexr-devel (郵件列表). 18 June 2012 [2013-01-15]. (原始內容存檔於2014-04-20). 
  7. ^ OpenEXR 2.0发布. 9 April 2013 [2013-01-15]. (原始內容存檔於2013-01-16). 

外部連結