上一篇簡單的帶過了一個"假想中完美,擁有所有色彩的空間"
這個空間,叫做PCS, Profile connection space ,通常是使用CIE Lab或CIE XYZ
(在此也跟之前分享的板友道個歉,的確有些程式是用Lab當計算中介...)
實際上,螢幕ICC到系統,視覺化的流程應該是:
┌─────┐ ╔═══════╗
│ 我是螢幕 │ 螢幕A的 icc profile ║ 神祕的PCS ║
│ A │ ←(告訴PCS螢幕偏差多少) ← ║作業系統大魔王║
└─────┘ ╚═══════╝
所以說,透過icc,作業系統就知道該給給怎樣的訊號,讓螢幕顯示出正確的顏色
那檔案呢?
稍微理解一下,電腦裡的色彩,都是數位化,用101101011110...來儲存
進步一點,例如常看到的紅色(255 0 0) 藍色(0 0 255) 綠色(0 255 0)
這種三原色rgb分開表示,數值從0~255共256個變化的表示方式,
是基於2的8次方,8bit 八位元儲存方式,也是最常見的螢幕色彩表現能力
(一般的顯示卡與彩色螢幕,都色彩侷限在這個範圍)
看起來很少,但實際上1,677,7216一千六百多萬種顏色已足以應付一般日常使用
正紅色(255 0 0)這組數值,雖然我們知道他應該是紅色
但他並沒有告訴我們"到底是怎樣的紅色"阿!
舉例,像各家的顏料都出名叫做"正紅色"的顏色,
但因為廠牌不同,實際畫出來顏色可能不同
所以從"數值"要轉換到"現實色彩",勢必要有一個額外定義!
這時候,就該大家常常聽到的sRGB,AdobeRGB出場了~~
不同於給裝置使用的icc,定義的是裝置如螢幕等等的顏色如何和PCS轉換
sRGB,AdobeRGB這類的icc,定義的是檔案的數值如何和PCS轉換,
或較精確的說,他定義了檔案的"色彩空間"範圍.
意思就是,在無止盡好多好多顏色中,我們先想好一個範圍,一個目標
"今天整間超市開放大家免費拿,只要裝的進去超市購物袋不滿出來就可以帶走"
然後最後來秤重,猜看看大家拿的東西重量多少?
雖然說整間超市商品上千上萬件,但基本上購物袋大小有限,
活動前我們就能找出最輕的商品裝法和最重的商品裝法,最後雖然大家拿的商品種類數量
不一,但絕對不脫我們之前找好最極端的最輕和最重兩個重量.
今天sRGB,AdobeRGB色域也是一樣,
定義了色域大小,就是塑膠袋多大,裡面的顏色,商品重量,也就不脫一個範圍內
那我們就能在進一步,針對這個範圍的極限,最重或最輕,來做好定義
"最重的這個重量,我們叫100分" "最輕的這個重量,我們叫做0分"
這樣每個顧客,一定是0~100這個區間內.
回到上面說的紅色(255 0 0) 綠色(0 255 0) 藍色(0 0 255)
如果我們選好的一個色域,購物袋大小,就會知道最紅 最綠 最藍
能夠到多紅 多綠 多藍!
(最不紅綠藍應該不用說...就沒有,黑的)
所以代表我們就在這個色域中,把最紅到最不紅,切割成256的細分程度
同理,綠色和藍色也是如此,
最後,三種顏色搭在一起,完成了對應到這個色域中,一千六百多萬種的顏色該是什麼樣子.
好了.我們現在知道,檔案裡面顏色的數值,在現實世界裡到底是怎樣的顏色了:
色域ICC到系統,視覺化的流程應該是:
╔═══════╗ ∕ ̄ ̄ ̄ ̄ ̄ ̄ ̄∕
║ 神祕的PCS ║ 檔案的 icc profile ∕ 我是一張圖檔 ∕
║作業系統大魔王║ ←(告訴PCS檔案定義的色域)← ∕﹏﹏﹏﹏﹏﹏﹏∕
╚═══════╝
合併上一篇的螢幕部分:
┌─────┐ ╔═══════╗
│ 我是螢幕 │ 螢幕A的 icc profile ║ 神祕的PCS ║
│ A │ ←(告訴PCS螢幕偏差多少) ← ║作業系統大魔王║
└─────┘ ╚═══════╝
這就基本完成了,色彩管理標準化的兩端,檔案 到 系統 到 螢幕.
之後細節,在補吧....