什麼是LUT?
咱們業內在LUT的應用方面有着許多混亂的認識,不少人會把LUT當作是一種「黑魔法」,然而實際上它們是再正常不過的東西。
所以爲了幫助你們瞭解LUT的定義和工做原理,本文將會盡量詳細地爲你們講述LUT以及它的應用,包括用於校準的技術的LUT和創意Look LUT之間的不一樣。php
LUT基本上就是一些轉換模型,或者說是不一樣的組合,它的兩種主要分支是1D LUT和3D LUT。
1D LUT
舉個例子,一個1D LUT的開端多是這樣子的:
注意:嚴格來講這是3個1D LUT,由於每種顏色(RGB)都是一個1D LUT。
R, G, B
3, 0, 0
5, 2, 1
7, 5, 3
9, 9, 9
上面的意思是:
在R、G、B的輸入值是0時,輸出值是R=3,G=0,B=0
在R、G、B的輸入值是1時,輸出值是R=5,G=2,B=1
在R、G、B的輸入值是2時,輸出值是R=7,G=5,B=3
在R、G、B的輸入值是3時,輸出值是R=9,G=9,B=9
這是一個特別的LUT,不過你能夠看到一個特定的R、G或B輸入值都有特定的輸出值。
因此若是某個像素的RGB輸入值是3, 1, 0,它的輸出值將爲9, 2, 0。
若是R的輸入值變成了2,可是G和B保持不變,那麼只有R的輸出值會改變,這時候像素的輸出值爲7, 2, 0。
理解了嗎?
以上的內容能夠用以下圖像來表示:
咱們很容易能夠看出,變更某個顏色輸入值只會影響到該顏色的輸出值,RBG的數據之間是互相獨立的。
這就意味着1D LUTs只能控制gamma值、RGB平衡(灰階)和白場(white point)。
1D LUTs加上3×3的模型
爲了克服1D LUT的限制,咱們能夠對其應用一個3×3的矩陣來控制顏色飽和度和亮度,在完整的色彩空間中進行線性縮放。
R x x x R
G = x x x = G
B x x x B
雖然這種方法可以作出「可接受」的校準結果,可是顯示效果中的全部非線性屬性仍然不能獲得改正。
3D LUTs
由於1D LUT和模型組合的色彩控制功能仍是會有一些侷限,所以在精確的色彩控制當中咱們一般會偏向使用3D LUT,由於它們可以實現全立體色彩空間的控制。
最好仍是用圖像的方式來向你們展現:
先來看看三個色彩平面的相交點(表明某個輸入值的LUT輸出值),咱們能夠看到某個輸入顏色的改變都會對三個顏色值形成影響,也就是說任何一個顏色的改變都會對其餘顏色作出改變。html
你們應該能夠從圖中看到,當顏色「平面」按照它們對應座標軸的方向遠離原點(0, 0, 0)時,它們的相應顏色也會增長。工具
因爲3D LUT能夠在立體色彩空間中描述全部顏色點的準確行爲,因此它們能夠處理任何顯示的非線性屬性,也能夠準確地處理顏色忽然的大幅變更等問題,這是令如今許多的顯示器頭疼的問題。性能
這樣就讓3D LUT很是適合用於精確的顏色校準工做,由於它們可以處理全部的顯示校準的問題,從簡單的gamma值、顏色範圍和追蹤錯誤,到修正高級的非線性屬性、顏色串擾(去耦)、色相、飽和度、亮度等。基本上是全部可能出現的顯示校準的問題。ui
因爲3D LUT的高級顏色控制性能,它們常常也會被用於創意的Look Management和調色等工做。
然而,對於一些更簡單的顏色轉換來講,好比說不一樣色彩空間之間的轉換(Rec70九、P三、sRGB等),模型是更加經常使用的工具,不過得出的數據常常都會轉換成3D LUT的形式,由於創做系統一般都不會直接使用模型。url
你在本頁的底部看到1D和3D之間的對比以後應該就會認同這種想法了。
但這實際上取決於LUT的需求和應用狀況……
1D LUT更傾向於爲每個輸入和輸出值提供對應的數值,因此這些取值在1D轉換的範圍內是很是準確的。
若是3D LUT要作到爲每一個輸入和輸出值提供對應的數值組合的話,那麼這個LUT將會變得很是龐大,以致於不能使用。一個可以爲10位圖像工做流提供全部輸入和輸出值的3D LUT將會是一個1024點的LUT,它會含有1,073,741,824(1024^3)個點。
因此大部分的3D LUT使用的立體都在17^3到64^3的範圍以內,其中17^3的LUT指的是每一個軸都有17個從輸入到輸出的點,而在這些點之間的數值須要被插入。不一樣的系統會以不一樣程度的準確度來實現這點,所以即便兩個不一樣的系統使用了同一個3D LUT,它們都有可能生成不一樣的結果。
咱們很難在兩個系統中使用同個3D LUT作出徹底同樣的結果,除非這個LUT的體積很大,這樣就能夠限制使用插值的數量。
3D LUT的編寫方式也多是很是使人困惑的。
3D LUT一般也會有三欄的RGB數值,不過通常藍色的改變是最快的,綠色次之,最慢的是紅色。
下面是一個「默認旁路」的17^3 3D LUT的前幾行(輸出與輸入相等):
R, G, B
0, 0, 0
0, 0, 64
0, 0, 128
0, 0, 192
0, 0, 256
0, 0, 320
0, 0, 384
0, 0, 448
0, 0, 512
0, 0, 576
0, 0, 640
0, 0, 704
0, 0, 768
0, 0, 832
0, 0, 896
0, 0, 960
0, 0, 1023
0, 64, 0
0, 64, 64
0, 64, 128
0, 64, 192
0, 64, 256
0, 64, 320
0, 64, 384
0, 64, 448
0, 64, 512
0, 64, 576
0, 64, 640
0, 64, 704
0, 64, 768
0, 64, 832
0, 64, 896
0, 64, 960
0, 64, 1023
0, 128, 0
0, 128, 64
0, 128, 128
0, 128, 192
0, 128, 256
0, 128, 320
0, 128, 384
…, …, ..,
咱們能夠看到的是藍色會快速地通過17點的循環,綠色會在每一個藍色17點循環以後變更一次,紅色則會在通過整個LUT的長度以後更新一次,也就是在綠色通過17次循環以後。
這42行會在總共4913行當中繼續重複……
很簡單嘛!
好吧,其實沒有那麼簡單……咱們應該這樣想:
在上面的立體圖像中,紅色平面從它的17個點的第1個點開始。
綠色平面和藍色平面也是從它們的第一個點開始。
這個位置的輸出值會被記錄成LUT的第一行(0, 0, 0)。
紅色平面和綠色平面會保持不動,藍色平面開始一項它的第二個位置。
這個位置的輸出值會被記錄成LUT對的第二行(0, 0, 64).
而後藍色會繼續移動17個點(位置)。
而後綠色平面開始移向它的第二個點,藍色繼續重複它的17個點。
在綠色通過了它的17個點以後,紅色開始移向它的第二個點,這個循環開始繼續重複……
如今明白了嗎?
因此對於非旁路的LUT來講,每一個「平面」的位置會在17個點當中的每個點之間發生變化,生成所需的輸出值。
所以,一個真正的「校準用3D LUT」的前幾行應該是這樣子的:
R, G, B
0, 0, 0
0, 0, 36
0, 0, 112
0, 0, 188
0, 0, 261
0, 0, 341
0, 0, 425
0, 0, 509
0, 0, 594
0, 0, 682
0, 0, 771
0, 0, 859
0, 0, 955
0, 0, 1023
0, 0, 1023
0, 0, 1023
0, 0, 1023
0, 32, 0
0, 28, 28
0, 28, 96
0, 24, 172
0, 24, 252
0, 20, 333
0, 20, 417
0, 12, 501
0, 12, 586
0, 8, 674
0, 4, 762
0, 4, 851
0, 0, 943
0, 0, 1023
0, 0, 1023
0, 0, 1023
0, 0, 1023
0, 92, 0
0, 88, 20
0, 88, 88
0, 88, 164
0, 84, 244
0, 84, 321
0, 80, 405
…, …, …,spa
因此從本質上來講,LUT的做用就是將每一組RGB的輸入值轉化成輸出值。
一般來講(徹底忽略上文提到3D LUT和1D LUT之間的準確度對比的話),1D LUT也有相應的應用須要,不過3D LUT在現實生活的應用當中會準確得多。
下面的Marcy照片展現了1D LUT和3D LUT之間的區別。
第一張圖片是用一個1D LUT作出的,第二張圖片是一個3D LUT的結果,兩個LUT都是基於徹底一致的數據的。
咱們能夠看到這二者之間的區別主要在於飽和度,由於1D LUT不能在不改變亮度的前提下改變飽和度。htm
人們對於LUT大小也存在着不少的誤解,也不清楚怎樣的大小纔是合適的。
LUT的大小主要能夠分紅這三個部分……
一、首先是特定LUT的實際大小,這是由某個可用的DI系統或者LUT Box的大小決定的。通常的大小範圍是5^3到64^3。
任何特定系統的LUT大小都是針對實時應用的,所以從經驗來看,高端系統都可以使用大型的LUT。因此事實上LUT的大小是一個問題這種說法是不對的——這取決於DI系統(或者LUT box)可以使用的大小。
二、LUT大小的第二部分,也多是更重要的一部分是,根據使用LUT來校準顯示器的配置數據所創建的LUT。
生成LUT配置數據是很是耗費時間的,由於任何顯示器的準確配置都須要生成準確的結果,爲膠片的lab生成配置數據時也是同樣的道理,其中的膠片負片和沖印底片須要使用密度測量來準確配置。
技術LUT(不是校準LUT)的生成是比較簡單的,由於它不須要對顯示器進行配置。因此它的任何大小都是很容易生成的,這只是一個用於生成結果模型或LUT的公式。
這點也一樣適用於「創意LUT」,由於這種方法會先進行分級,而後從分級結果中根據所需的大小提取出LUT。
當製做校準LUT的時候,你須要配置儘量多的點(儘管某些校準系統正在嘗試避免這種操做,它們是根據配置分析來進行估計,從而使用更少的點)。因此它的問題在於進行配置所需的時間。
三、如何從較小的配置中生成較大的LUT……你須要在LUT生成過程當中使用一些很是優秀的內部顏色引擎處理來實現這點,這是LightSpace CMS很是擅長的工做——它的準確度要比其餘的校準系統高得多。
一些DI系統和LUT box也會在內部使用優秀的LUT插值,因此它們可使用17點的LUT生成很是好的結果。不過有不少都是作不到這點的!這些糟糕的插值系統須要更大的LUT,由於它們自己不能作出插值。
校準、技術和創意LUT之間的對比
LUT能夠有多種應用方式,其中最經常使用的三種應用是校準、技術和創意……圖片
校準LUT是用來「修正」顯示器不許確的地方,它可以確保通過校準的顯示器能夠顯示儘量準確的圖像——在顯示器的能力限制範圍以內。這是最重要的一種LUT,由於它們的生成過程須要很是高的準確度,否則全部在「已校準」的顯示器上顯示的圖像都是不許確的,使得整個工做的準確度都大打折扣。
這就是LightSpace CMS可以成爲其餘校準系統的實際標準的重要緣由——它是全部系統當中最準確的。
技術LUT
技術LUT用於轉換不一樣的「標準」,好比說從一個顏色空間轉換到另外一個,因此這些LUT是比較容易準確生成的。
使人意外的是,不少的技術LUT都不是準確的,並且它們嘗試在不一樣標準之間轉換圖像時可能會形成嚴重的問題。全部使用LightSpace CMS生成的技術LUT都是準確的!
創意LUT
創意LUT一般會被稱爲「Look LUT」,由於它們一般都被攝製總監用於電影現場拍攝的外觀設置,也會被用於向圖像應用特定的外觀模擬,例如某種傳統的膠捲效果。
LightSpace CMS擁有生成任何Look LUT所需的全部工具,包括從DI系統中提取創意分級、使用Photoshop創建風格、使用LightSpace CMS內置的創意工具(例如膠捲模擬)等。get
轉載於:http://www.cgangs.com