Drake's Weblog

2 minute read

tone-mapped HDR of project #1 in cyy’s VFX 2011 spring

在像 Pixar 這樣的 animation studio,或是像 ILM 這樣大規模的 VFX studio 裏頭,OpenEXR 扮演了一個非常重要的角色:工作過程中,可以用來預覽或是再製的圖片檔。我們就如同其它的 studio 一樣,也是使用 EXR 作為內部的圖檔使用。公司裏頭,絕大部分的 exr 檔,都是 renderer 的產物。OpenEXR 是個可以用來乘載 HDR 的圖檔格式,在 ILM 的推波助瀾,加上其它 studio 的跟進,動畫軟體的支援下,幾乎成了某種 de facto 標票。然後,它終究只是一個“夠開放“的圖檔格式,如何有效且正確的善用它,才是更重要的事。

以下幾點,是我們在太極影音的工作過程中,發展出來的一些經驗:

  1. EXR 檔案裏頭沒有任何標頭或 tag 指出它存的 color space 是線性(linear)、gamma 2.2(1.8, 2.6, …)等,而是由使用的人或是軟體自行解釋。
  2. EXR 鼓勵以 linear color space 的方式來存內容 (scene-referred)。這樣不管是人、機器或是軟體,都不用去猜測別的可能性,而且對於後製來說,既不用對拿到的影像想太多就直接操作,也不需要先做個轉換,是比較省事且安全有效率的 pipeline。但這點不是強制性的,只能說是大家約定成俗的一種習慣性用法。就像我們現在都認為相機出來的 JPEG 一般是 sRGB (~ gamma2.2) 或 Adobe RGB,但其實 JPEG spec 並沒有定義這個。
  3. EXR 以 linear 儲存後,在呈現時才去根據不同的 display device,使用不同的 transformation 或是 LUT 來轉換。要求比較嚴苛的工作環境,會就每個 display device 有一組 LUT (1D? 2D? 3D? 這部分我還沒有作完研究各種 LUT 表示法的適用狀況,只能說,理論上 3D LUT 比較厲害。),且會定時根據 device 的狀況來更新那組 LUT。這種作法是非常非常嚴苛的要求下的作法。
  4. EXR 可以有任意的 metadata,所以是可以在裏頭存個 ‘colorspace’ 的 meta 來用,不過這樣得確認所有接觸到此 exr 的程式,都有去“尊重“這個 meta 才有用,不然反而會落得不三不四的。
  5. EXR 儲存的數值,只有 16-bit 或是 32-bit 的這兩種,並沒有 8-bit, 10-bit, 12-bit, 24-bit, … 等此說法。當有人這樣說時,可以假設是只用了比較少的 bit(ex, 16 bits 中,只用了 14 bits,另外兩個 bits 為零),但存在檔案裏時,一樣是 16 或是 32 bits。
  6. 同樣的圖片,以 linear 與 log 的方式來存的話(這邊指的是單純的 log,並非 REDlog 或是 panalog 這類特定的 preset),log 存的檔案的確是會小一點點,約節省了 10%~20%。但它仍舊是以 16 bits 或是 32 bits 來存。
  7. 壓縮方法中,有 loseless 與 lossy 兩種。PIZ, ZIP, ZIP (16 scanline), RLE 屬於 loseless。其中 ZIP (16 scanline) 對於 CG image 的壓縮率最大;而 PIZ 對於有 film grain 的 image 有最好的表現(因為使用了 wavelet)。B44 或是 B44A 為 lossy,我們現有的工作環境不會使用到,也不應該使用到才是。
  8. 像素(pixel) 存的方式,又分為 scanline 與 tiled。後者適合以一張 .exr 來存一整個 mipmaps,就像 .tex 一樣(.tex 是 .tif 的一種小變型)。prman(Pixar’s RenderMan)的 texture 這個 shader op,也許已經有支援 .tiff 或 .exr 了(我沒去確認),但我相信對於 .tex 的支援應該仍舊是最好的。

further reading:

  1. ILM 於 SIGGRAPH 2004 發表的 OpenEXR Color Management 是個很好的參考,不過其中的 CTL 已經開始由 OpenColorIO 取代掉了。
  2. Understanding Nuke’s unique Layer and Channel system (including the Shuffle Nodes).
comments powered by Disqus

Recent posts

Categories

About

You're looking at Drake's words or statements. All opinions are my own.