2012年12月19日 星期三

Gamut mapping

Gamut 中文人稱色域
是用來定義顏色可以呈現的範圍

舉例來說
Canon的印表機有她自己的gamut
這個gamut可能跟Epson或是HP的不同
甚至Canon的A型號的gamut也會跟B型號的gamut不同
一切取決於墨水或碳粉的搭配能產生出多少顏色
但是這件事情就會造成一個問題了
今天我想要列印的文件是固定的
不太可能因為現在是用Canon的印表機
稍後用Epson的印表機 就去改變我文件裏頭的顏色
所以這個時候就需要gamut mapping出場了

看看下圖
假設要列印的文件所採用的色域是Adobe RGB
但是印表機只呈現得出sRGB的色域 (通常比sRGB小得多)
如此就會產生兩個問題
1. 不管pixel value為何(e.g. rgb888) 先就看sRGB外但是AdobeRGB內的點
    如果墨水或碳粉呈現不出來 那我們該如何處理那些顏色????
2. 考慮pixel value 如果甚麼都不做 在AdobeRGB上的某pixel value呈現的顏色 和在sRGB的墨水上呈現出來會怎麼樣呢????

先看看第二個問題
如果啥都不處理 即使該pixel value在AdobeRGB呈現的顏色是在sRGB的範圍內
呈現出來的顏色也會不一樣 i.e. xy座標會不同

至於第一個問題 就看各家處理的方式了 也就是gamut mapping的精華好壞所在
網路上看到一個寫得蠻好的applet
可以玩玩看
上頭有一些簡單的mapping
例如把範圍外的點都直接拉成邊緣的點(absolute colormetric  但缺點是clipping)
或者是所有的色點往白點內縮(perceptual)等等
還蠻直接明瞭的.

最後回過頭來看印表機的問題^.<
由International Color Consortium(ICC)主導下
發展了一套ICC profile的機制
也就是建立了一套標準來描述色彩相關的輸入、輸出設備對於顏色的呈現
不過這又是一段後話了 之後再寫文探討^.<

沒有留言:

張貼留言