分段大綱

前言

LUT 是什麼?

  • 1D LUT
  • 3D LUT

LUT 的應用

  • 技術型對照表 (Technical LUTs)
  • 校正型對照表 (Calibration LUTs)
  • 創意型對照表 (Creative LUTs)

生成校正型 LUT

  • 量測數量與 LUT 大小
  • 特性化(Characterisation)
  • 生成 LUT

如何產生沒有實際量測到的數值?

  • 三線性內插法 (Trilinear Interpolation)
  • 四面體內插法 (Tetrahedrons Interpolation)
  • 三線性內插法和四面體內插法有什麼差別?

你有想過,市面上常見的風格檔是如何使顏色產生變化的?

這篇來跟大家聊聊,究竟風格檔背後的原理是什麼。

LUT 是什麼?

LUT(Look-Up-Table)是一種用來將輸入數值轉換為新的對應數值的對照表。可以將螢幕的色彩校正到特定某一個色彩空間下,或是預先設定想拍攝的風格;例如帶有科技感的冷色調或是有夕陽灑落感的暖色調等,其中又分為 1D LUT 3D LUT

原始圖像 vs 套了Lut的圖像
  • 1D LUT

1D LUT 顧名思義是只能對單一維度的數值去做轉,例如一張 RGB 彩色影像來說,只能對紅色通道、綠色通道或是藍色通道的數值去做轉換,而只能對單一數值做轉換也意味只能調整影像的對比度、亮度等資訊,無法精準的控制色彩。

另一方面,如果我們調整了一張 RGB 彩色影像的單一通道的話,顯示出來的顏色也會和其他兩個通道的數值產生交互影響,使得顏色不見得是我們所想要的。

1D LUT只能將一個輸入值對應一個輸出值
  • 3D LUT

3D LUT 相對於前面提到的 1D LUT,能夠透過索引值將一組數值轉換為另一組新的數值,因為 3D LUT 能同時對三個通道的數值去做替換,因此能夠控制我們想要顯示的顏色。

3D LUT 能夠根據單一 R、G、B 輸入值變化對應給定的單一 R、G、B 輸出值
3D LUT 於三維立方體可以查看所有三個顏色平面相交的點

1D LUT & 3D LUT 哪個比較好?

從上面介紹的內容來看 3D LUT 能做到的事情遠比 1D LUT 多,但是我們在做 LUT 轉換時希望是即時的,3D LUT 所儲存的資料數量也遠比 1D LUT 多很多,需要較長的時間查表,進而延遲了轉換的時間。

相較之下,1D LUT 除了有儲存資料較少、處理速度較快的優勢之外;由於 1D LUT 是單一數值之間的轉換,可以切分較為細緻。

由此可見,兩者各有其優勢,取決於使用 LUT 的需求與應用層面。

  • 將 1D LUT 與 3D LUT 結 合

既然 1D LUT 及 3D LUT 有各自的優勢,我們可以將它們做結合,例如可以先用 1D LUT 來做 Gamma 校正或是灰階平衡等,再將由 1D LUT 轉換後的數值輸入 3D LUT ,進而達到管理色彩的效果。

輸入 1D Shaper LUT 可以有效增強後續 3D LUT 的相對精度

LUT 的應用

  • 技 術 型 對 照 表 (Technical LUTs)

用來做標準色空間轉換,例如從 Log 轉為 Rec. 709 等。

Log(左圖)轉為 Rec. 709(右圖)
  • 校 正 型 對 照 表 (Calibration LUTs)

用來校正顯示器的不準確,讓影像在顯示器上顯現正確的顏色。

未使用 3D LUT(量測結果不在目標內) vs 使用 3D LUT(量測與目標重合)
  • 創 意 型 對 照 表 (Creative LUTs)

用來轉換成自己的喜好色調,像是帶有科技感的冷色調或是有夕陽灑落感的暖色調。

生成校正型 LUT

  • 量 測 數 量 與 LUT 大 小

3D LUT 可以將一組數值轉換成另外一組新的數值,那其中轉換的精準度又該如何決定呢?一般來說,如果有更多資訊的話,我們就能推算出更精確的輸出結果。

因此,LUT 尺寸量測點的數量越多就能得到越準確的結果。

而要生成校正 LUT 則需要透過量測色塊,量測點越多能更精準推算新的輸入數值對應到怎樣的輸出數值,但是量測所需的時間也會拉長,量測數量到一定程度之後,對準確度的影響也會逐漸變小。

量測數量
  • 特 性 化(Characterisation)

透過量測色塊建立輸入訊號跟輸出訊號之間的關係,依設定要量測的色塊數量得到一組經 RGB 數值轉為 XYZ 數值的結果。

  • 生 成 LUT

在特性化的過程只用較少的色塊做量測,但要產生 LUT 的時候,我們希望它的準確度比較高,因此會利用演算法去內插補齊沒有量測到的色塊數值。

特性化會得到原生色域的結果,後續就能進一步將色域轉換為標準的色彩空間(如 Rec.709, DCI-P3, Rec.2020 等)。

如何產生沒有實際量測到的數值?

特性化的過程我們使用較少的色塊去量測以建立 LUT,那該如何產生沒有實際量測到的數值呢?以下提供兩種 3D LUT 的內插方法:

  • 三 線 性 內 插 法 (Trilinear Interpolation)

三線性內插法是線性內插的擴展,通常用於三維空間進行內插補值。

對應到量測上的案例,可以把這些灰色節點當成是我們所量測到的數值,而紅色點則是利用已知的數值去做內插而得的。

符號說明

  • 大寫字母: 表示在網格上的點 (表已知)
  • 小寫字母: 表示不在網格上的點 (表未知)
  • V(r, g, b): 表示座標點(r, g, b)的數值大小

計算流程:

欲求座標點跟節點之間的距離當作權重比例,這邊用簡單的比例關係表示,在同一軸向上未知點跟最鄰近前後兩節點間的關係

計算欲求座標點紅色軸向的數值(每個結果是獨立的,和順序無關),利用前面算得的距離權重比例去求得鄰近的紅色數值

已知欲求座標點在紅色軸向上的數值之後,再求綠色軸向的數值

最後,再利用前面得到的紅色軸向以及綠色軸向的數值去求得座標點(r, g, b)的數值

上述過程是一連串的線性內插,我們可以將其整理成一般式(general expression)去看

而這個一般式看的出來是線性關係,所以能夠將它的型式改為矩陣型式

將C矩陣展開,所以C = AV,其中A為係數矩陣

最後方程式可整理成

  • 四 面 體 內 插 法 (Tetrahedrons Interpolation)

四面體內插法的概念是取已知的四個節點去構成一個四面體,接著去判斷我們想要求的座標點屬於哪一個四面體當中,再用距離權重判斷該使用哪個係數矩陣,進而求得內插數值。

計算流程:

計算距離權重

依照欲求座標點離各個軸向的距離權重決定使用哪個係數矩陣

最後就能利用係數矩陣求得目標座標點的數值

  • 三 線 性 內 插 法 和 四 面 體 內 插 法 有 什 麼 差 別?

如果我們輸入的是有平滑梯度的影像,或是可以想像成漸層的影像,如下圖

三線性內插法因為沒有足夠的精度去滿足每一個 step,導致漸層產生一條一條白色的條帶

三線性內插法沒有足夠的精度

四面體內插法使用更精確的計算方法,使漸變更平滑好看

四面體內插法使用高階運算方法在步驟之間插值

歐諾專業色彩服務

高階校色服務

現場調光、即時LUT調整&LUT製作

色彩管理課程

培養正確的色彩知識觀念和設備使用

高色準空間規劃

建構色彩精準的工作環境與設備配置

  • (02) 8521 8862