2011/01/05

掌握螢幕色彩特性的3C



色彩管理的完整流程

        以一個完整個色彩管理流程來說, 包含了以下三個C:
Calibration(校正) Characterization(特性化) Conversion(轉換)


校色軟體+非色管螢幕vs高階色管螢幕


        三個C只要缺少任何一項, 就不算完整的色彩管理(但也比沒作來的好), 如果想達到高標準的色彩管理, 就有必要檢視色彩管理的流程中, 是否3C都達到了. 一般來說, 市面上的校色器+軟體幫我們做到了 校正(Calibration) 特性化(haracterization); 但是特性化的資料是轉換(Conversion) 所需要的材料, 如果缺乏轉換這個程序, 特性化等於無用武之地. 所以特性化轉換其實可以視為同一個C, 兩者缺一不可; 而轉換需要應用軟體對於色彩管理的支援才能達成, 缺乏應用軟體的支援, 在執行完校色器校色流程後的螢幕, 可以說只完成了第一個C: 校正.

        倘若是高階色管螢幕, 則3C一次在硬體端完成, 軟體端就算不支援色彩管理, 實際上也處於完整色管流程了, 不過這也牽扯到口袋有多深的問題.



3C色管流程中誤差的變化過程


        難道說光是校正還不夠嗎? 不盡然, 其實光是完成校正, 已經讓設備儘量接近標準的規範了(譬如6500k Gamma 2.2), 一般來說, 校正完畢後的顯示器會比未校正前誤差來的小. 但到底離標準有多"接近"? 誤差還有多大? 並不得而知, 只有透過特性化去量測設備的特性, 才有辦法瞭解存在多少誤差;  但是特性化本身並沒有辦法把設備特性百分之百預測的出來; 接著, 經過特性化後, 再透過轉換就可以把誤差降到最小. 轉換本身也會造成些許誤差, 因此誤差並沒有辦法被完美的消除.

Calibration(校正)



校正的常見執行流程



校正通常包含以下項目:

  1. 校正色溫 (如6500k 5000k)
    要求使用者以調整螢幕的R/G/B gain值來達到目標色溫.
  2. 校正Gamma
    這個步驟對CRT才有意義, LCD由於沒有Gamma特性(有Gamma調整功能的LCD, 皆是模擬的), 所以此步驟通常已被省略.
  3. 校正亮度 (如80nits 120nits)
    要求使用者以調整螢幕的亮度來達到目標亮度.
  4. 調整EOTF(Electrical-Optical Transfer Function, 電光轉換函數)
    就是我們常講的Display LUT (顯示卡對照表), 或者ICC Profile裡的vcgt tag. 如果高階的顯示器有內建LUT, 也是這裡所指的EOTF.
    EOTF通常是為了彌補 2校正Gamma 後, 還沒辦法達到理想值時, 所做的最後一道調整措施; 又或者為了讓LCD這類無Gamma特性的顯示器, 也能模擬Gamma調整的目的, 進而達到理想的Gamma值.
    除了Gamma調整外, 由於R/G/B三個頻道的EOTF可以分開調整, 所以同時也具有 1校正色溫 的功能; 對筆電螢幕來說, 因為無法調整R/G/B gain, 所以EOTF也是唯一可以用來調整色溫的方法.



        量測原始EOTF僅需量測R/G/B以及灰階漸層, 如果開始量測C/M/Y等其他混合色, 代表已經進入下一個步驟:特性化 的階段.
量測完原始EOTF後, 校正軟體會及時計算最適合的調整EOTF, 將此EOTF載入到顯卡LUT(如果是內建LUT的顯示器, 則載入到顯示器裡); 如果需要很準確的結果, 量測以及EOTF的計算需要花較長的時間, 為了求校正的快速, 通常會取一個平衡點, 達到一個結果可以接受且花費不會太久的兩者折衷.

        此外, 校正幾乎是沒辦法去調整Gamut的, Gamut調整僅能在轉換中完成; 除了少數如EIZO高檔螢幕, 流程中同時可以校正Gamut, 實際上則是一口氣完成了色管的3C: 校正+特性化+轉換, 且完全以硬體的方式達成, 不用以軟體進行轉換. 因此容易遇到Gamut問題的廣色域螢幕, 更應該要花心思去確認色管的3C是否都具備了, 否則容易被過於鮮豔的顏色困擾不已.


Characterization(特性化)



特性化的流程


        在校正步驟中, 產生調整EOTF且載入後, 螢幕就完成校正. 接下來會針對此校正好的螢幕進行特性化; 特性化時, 我們會看到軟體不斷送出不同顏色的色塊, 讓sensor去量測; 特性化簡單的說, 就是將送出的RGB以及量測到的CIE XYZ數值間, 以一個適當的數學式子去描述(或者稱設備特性). 也因此式子的選擇以及產生方式是相當重要的, 要是採用不適當的式子, 產生了錯誤的設備特性, 特性化也會失去意義. 然而目前市面上所能看到萬元左右的商業校色器套件, 大多是以適用於CRT的設備特性去描述顯示器特性, 所以遇上LCD, 通常特性化的結果都會稍差, 但是LCD的特性已經越來越接近CRT, 因此就一般用途而言, 已可接受.


特性化在ICC Profile中常見的兩種型式



        特性化的結果會儲存在ICC Profile中, 通常有兩種形式: 矩陣 以及 對照表.
矩陣較適用於CRT; 對照表則相當泛用, CRT及LCD皆能通用, 甚至數位相機、印表機也都能採用對照表, 差別只在於產生對照表的方式不同而已; 對照表內容是以設備特性來產生, 因此設備特性越準, 對照表就越有參考性, 不同的設備要套用適用的設備特性, 不適用會讓產生的對照表誤差過大.
採用對照表的ICC Profile會較大, 檔案大小通常超過50KB以上, 50KB以內的幾乎是以矩陣的方式做特性化, 市面常見的商業校色器套件產生的ICC Profile大小通常都落在50KB以內, 也就是以矩陣形式作特性化.


Conversion(轉換)


色彩管理第3C: 轉換 的流程
        儲存在ICC Profile裡的特性化資料, 要是不加以載入並做轉換, 其實一點意義都沒有.
        在Windows下顯示器設定裡的色彩管理->色彩設定檔, 所指定的ICC Profile, 也僅僅是告知作業系統, 顯示器的特性化資料在這個Profile中; 但是作業系統不會主動載入特性化資料並進行轉換, 不管是XP還是Vista都是一樣. XP與Vista雖然都內建轉換的功能 (或者說作業系統API具備色彩轉換), 但只能被動的呼叫執行, Vista也僅僅是轉換的功能較為齊全且先進, 如果沒有應用程式主動呼叫轉換, XP跟Vista的色彩管理功能幾乎可以說是沒有.
 
 
具有色彩管理功能的軟體 vs 不具有色彩管理功能的軟體

        如果具備呼叫轉換功能的應用程式, 或者本身就內建轉換功能, 而不用呼叫作業系統API執行轉換的, 都可以稱作 具有色彩管理功能的軟體, 像是Photoshop、ACDSeePro、Firefox3、Safari都是. IE、Firefox2等等軟體都不是. 所以當我們用IE、Firefox2上網時, 只有校正發揮了效用, 沒做到特性化轉換, 色管做了一半. 當我們用Photshop、ACDSeePro看圖修圖, 或者用Firefox3、Safari上網, 且都開啟了色管功能, 此時色管的3C都具備了, 完整的顯示器端色彩管理都完成了.


顯示器端色彩管理與印表機端色彩管理       


        為何只稱"顯示器端色彩管理"完成? 如果想將看到的影像經過印表機或者送到沖洗店做輸出, 當然會期望得到的影像結果會跟色管3C都具備的螢幕很近似, 但通常我們只能得到六七十分這樣還能接受的結果, 原因在於印表機本身也有該做的色管3C, 缺乏這一部份, 光是螢幕再準也沒有用. 準確的螢幕或許可以讓50分到60分, 但是要讓60分到80甚至90分, 印表機端的色彩管理是缺一不可的, 所幸印表機端的色管其實不難, 只要搭配原廠墨水+原廠紙+原廠ICC Profile, 輕輕鬆鬆就能達到90分. 如果用了副廠墨水副廠紙, 或者沖洗店輸出機的色彩管理,