開發ACES項目緣由ide
在影片製做中,膠片再也不是基本的交換格式函數
以數字形式進行未完成的圖像交換需求不斷增長ui
存在太多、太多件的格式和編碼表編碼
現存標準已通過時,幾乎沒有實現元數據(metata)的交換spa
ACES的主要組成部分code
Well-specified 16 bit image color encoding: ACES--指定的16位圖像編碼orm
Well-specified 16 bit film density encoding: ADX--指定的16位膠片密度編碼server
Well-specified rendering transform: RRT--指定的渲染轉換ip
Well-specified scanner/recorder characterization and calibration--指定的掃描、記錄描述方法與矯正ci
Well-specified data container, metadata--指定的數據容器與元數據;
Result: a suitable format for archiving
ACES顏色編碼原則
Encodes scene exposures as they exist at the camera focal plane
Creative effects of filters, exposure choices, lighting, etc. aremaintained
There will always be some inaccuracies in estimations of the scenes colorsbecause there is no perfect capture technology
Accuracy is important,but consistency is critical !
Wide gamut encoding:
– Encode all possible colors (coverthe visible gamut)
– RGB primaries to enable use as a working space
High dynamic range – Greater than25 stops encoded
Floating point values
– Preserves fidelity during artisticimage manipulation
1、ACES 細節
ACES顏色空間
5.1.1
5. 1.2 ACES RGB將紅、綠、藍場景相對曝光值做爲編碼顏色值,利用已定義的ACESRGB顏色表(ACES RGBprimaries.)這些值能夠轉換到CIE比色。對應關係以下圖:
RICD的光譜靈敏度繼來源於這些值,具體列表見文檔(ACES_1.0.1.pdf)的附錄C;
5.1.3 中性軸線(Neutral axis)
在ACES的顏色編碼中,若是R、G、B三個值相等則認爲是中性值。這樣的全部顏色的色度座標爲:x=0.32168,y=0.33767
徹底無光狀況下,座標分別爲:XK = 0.00000, YK = 0.00000, ZK = 0.00000
顏色空間一致白色點(對應的ACES RGB值爲1.0,1.0,1.0)標準化值爲:
XW = 0.95265, YW = 1.00000, ZW =1.00883
因爲ACES中的R、G、B相對曝光值每每大於1.0,因此此顏色空間統一白色點沒法限制描繪顏色(representedcolors)的範圍。
5.1.4 ACES RGB值到 CIE XYZ值轉換
ACES RGB三色次機值到 CIE XYZ三色刺激值轉換公式以下:
注意:
上邊的矩陣源於顏色空間色度座標 ;
5.1.5 CIE XYZ值到 ACES RGB值的轉換
轉換公式以下:
注意:
上邊的矩陣源於顏色空間色度座標
5.2 ACES 顏色空間編碼
5.2.1 顏色成分轉移函數
此函數直接編碼經過RICD從場景中獲取的相對曝光值做爲ACES的顏色成分值,定義以下:
此處 r,Eg,Eb表示經過RICD從場景中獲取的相對曝光值,R、G、B表示ACES的顏色成分值。此處RGB值得範圍爲:[ -65504.0 ,+65504.0].
顏色成分值編碼:ACES值編碼爲16爲的浮點型數字;每一個成分16位,1位表示符號位,5位表示指數位,10爲尾數位(10 bits of mantissa,不太理解);
5.3 ACES顏色圖像編碼
顏色刺激(color stimulus)的外觀不只依賴於其自己的刺激,還依賴能夠看到的來自外界環境的刺激。顏色圖像編碼表將參考觀測環境和顏色刺激聯繫起來,典型地,經過值或者值的範圍定義了觀測環境的四個屬性以下:可見雜散光(Viewingflare)、環繞類型(surround type,)、亮度和觀測自適應白色(luminance leveland observer adaptive white).下面四個屬性的值或者範圍,這樣能夠使其餘顏色圖像編碼的顏色值轉換到對應的ACES RGB 相對曝光值,反之亦然。
可見雜散光:在場景中任何雜散光被認爲是場景自己的部分,在ACES參考觀測環境中指定不含有可見雜散光;viewing flare 與鏡頭反光(camera flare)沒有關係;
亮度:
觀測自適應白色:ACES 參考觀測環境規定其觀測自適應白色的色度座標等於RGB統一白色點的色度座標;
ACES項目代碼實施詳述
代碼都是用Color TransformLanguage(CTL)語言寫的,將代碼結構寫一下:
D:\ACES\ACES資料收集\aces-dev-0.7.1\aces-dev-0.7.1\transforms\ctl\utilities中:
1.utilities.ctl:給出了一些在ctl項目中的一些通用函數,好比max(),min()等;
2.utilities-color.ctl
:給出了一些顏色相關的常量和函數;
3.unity.ctl給出了一個輸入等於輸出的例子;
4.adust—exp.ctl經過改變RGB通道值,調節畫面曝光度
5.transforms-common.ctl包含了多種正、逆變換的函數與常量
6.rrt-transform-common.ctl文件導入了utilities-color.ctl文件,包含了RRT正、逆變換的函數與常量
7.odt.transforms-common.ctl文件中導入了rrt.transforms-common.ctl文件,包含了ODT正向和反向相關變換函數和常量
在下面的RRT、ODT轉換中,會用到這些函數與常量,具體對應關係見代碼。
IDT:開發代碼中列出了某些公司的IDT方式,重點看了Sony的,
基本流程以下:
備註:SONY F65 ,F55和F5將增長兩個新的色彩空間,「S-Gamut3.Cine/S-Log3 」和「S - Gamut3/S-Log3 」。今天咱們來介紹一下這兩個新的對數色彩空間的特色!
「 S-Gamut3.Cine/S-Log3 」是專爲更像是純粹的記錄工做流程。顏色空間是相似於其用於電視製做,電影和數字影院底片掃描。色彩再現比DCI -P3稍寬一些,以提供足夠的空間分級。色調曲線對對於暗部層次會有更好地呈現,與工做流的Cineon良好的兼容性。
「 S-Gamut3/S-Log3 」是很是接近攝影機原始色彩,以8/10/12bit記錄。S- Gamut3的顏色空間保持與原來的S -Gamut相同,雖然內部的S- Gamut3色彩再現比S-色域更準確。
「 S-Gamut3.Cine/S-Log3 」和「S-Gamut3/S-Log3 」的色彩空間設置將被記錄XAVC,HDCAM SR和MPEG50在F55和F5機身裏,以HDCAMSR記錄在F65裏。這些顏色空間不施加到16bit的RAW線性記錄,在這種狀況下,只有色空間的元數據被保存。
RRT:將ACES RGB 轉化成OCES RGB
ODT:將OCES RGB色彩空間轉化爲CIE XYZ顏色空間,若是進一步有進一步須要,能夠將CIE XYZ顏色空間轉換成P3D60 gamut
其餘文件:
Lmt:LMT(Look Modification Transforms ) to the look of ACES.,實際上它是ACES到ACES的轉換,而不是IDT,具體見:
D:\ACES\ACES資料收集\aces-dev-0.7.1\aces-dev-0.7.1\transforms\ctl\lmt
文件acesLog 與 acesProxy 也是如此;
8、項目在系統中的應用:
附錄:
一些重要詞的縮寫:
IDT: Input Device Transform
ODT: Out Device Transform
ACES : One Interchange Encoding /File Format
RRT: One Reference RenderingTransform
LMT:Look Modification Transform