數(shù)值是如何工作的
(圖2-3:層次與階調(diào)的表現(xiàn))
為什么是256級
256這個數(shù)字在某些人看起來似乎是很武斷和不可理解的。但是,這個數(shù)字在計算機和顏色的討論中出現(xiàn)得太頻繁了,因此值得將它的意義搞清楚。它并非那么神秘。我們只是期望能夠表現(xiàn)出足夠的階調(diào)等級,保證觀察者不會看出兩個相鄰階調(diào)等級之間的階調(diào)差別。研究表明,對于多數(shù)人來說,能夠產(chǎn)租平滑漸變效果的階調(diào)等級數(shù)量大約需要200級左右。那么,為什么不就只編碼成200級呢?為什么是256級呢?這里有兩個原因。
留出余量。在實際應(yīng)用中,讓數(shù)據(jù)留有額外的階調(diào)等級余量是非常有用的,這是因為在復(fù)制過程的每一階段(掃描、顯示、編輯、轉(zhuǎn)換、計算、打?。疾豢杀苊獾貢l(fā)生階調(diào)損失,階調(diào)等級余量可以保證不會因為階調(diào)損失而出現(xiàn)條杠,這一點對色彩管理來說是非常關(guān)鍵的。
二進制位。第二個原因就是我們使用數(shù)字位(比特)來表示這些階調(diào)等級的值。7位二進制數(shù)字位僅能編碼出128個階調(diào)等級(27),肯定會使圖像中的天空出現(xiàn)條杠,在時裝模特的面頰上出現(xiàn)斑點。8位編碼能有256個階調(diào)等級(28),不僅可以滿足階調(diào)等級的需要,而且還有小小的余量。第三個采用8位的理由是,計算機是以字節(jié)能單位進行存儲的,8個二進制位正好是一個字節(jié)。由8位構(gòu)成的數(shù)量已經(jīng)有很多用途了。例如,它非常適合存儲一種字體的外形,可以容納256個不同的字符形狀,包括所有西文字母、數(shù)字和標點符號。一個字節(jié)的存儲量對于編碼階調(diào)等級也是非常完美的,這個數(shù)量與人類視覺系統(tǒng)對階調(diào)的分辨等級正好吻合,這看起來似乎是一種不可思議的巧合,可工程師們太喜歡這種不可思議了。
數(shù)百萬種顏色
于是,用8位編碼,可以形成每個顏色通道256個階調(diào)等級,這睚好符使用們希望在每個通道內(nèi)存儲的小階調(diào)等級數(shù)量。就RGB圖像而言,三個通道的每一個都用8位存儲,合起來就是24位(這正是為何許多人交替使用“8位顏色”和“24位顏色”兩種術(shù)語來表示這同一件事情的原因)。如果三個通道的每一個通道都是256個階調(diào)等級的話,則顏色編碼的總數(shù)就是256×256×256,或者(拿出你的計算器)大約是1680萬種顏色!我們用24位存儲量(或小小的三個字節(jié))就能編碼出這么多種不同的顏色??!
盡管這種基于3個通道、每通道8位的編碼方式是常用的方法,因為它是以人類感知顏色的方式為基礎(chǔ)的,但我們在需要的時候也可以很輕易地將它進行擴展。為能夠比人眼識別更多顏色的設(shè)備提供顏色編碼,這種擴展可以通過增加通道數(shù)量或增加每一通道內(nèi)的存儲字節(jié)來實現(xiàn)。例如,當我們?yōu)橐慌_CMYK打印機準備一幅圖像時,我們將通道由三個增加為四個通道編碼,這并不是因為我們需要得到更多的可編碼顏色數(shù)(實際上,我們需要的會更少),而是因為要為四色油墨的每一色分配一個通道,這是很自然的事情。
類似地,當要存儲由一臺顏色識別能力超過256級的RGB掃描儀所采集的圖像時,我們經(jīng)常將8位編碼擴展,更高為16位編碼(即所謂的“10位”、“12位”和“14位”掃描儀。盡管如此,因為我們都用整數(shù)字節(jié)來存儲文件,所以實際上并不存在“10位”、“12位”和“14位”的文件格式,而只有8位和16位的文件格式)。
一人需要記住的關(guān)鍵問題是,我們這里談?wù)摰乃袃?nèi)容都是關(guān)于編碼的,也就是使用一系列可以利用的數(shù)值來對顏色進行定義的方法。然而,計算機可編碼的顏色數(shù)量遠遠超出了實際可復(fù)制的顏色數(shù)量。實際上,它也遠遠遠地超出了可感知顏色的數(shù)量。類似高端掃描儀這樣的設(shè)備,能夠比人類眼睛“感知”到更多的階調(diào)等級,我們通常就可以通過擴展編碼位數(shù)來解決編碼問題。編碼要解決的所有問題在于,每一種顏色都必須具有惟一的編碼,因而可編碼的數(shù)量總要多于我們實際所需要的顏色數(shù)量,就像電話公司必須保證每部電話有惟一的號碼,于是就要準備多于實際使用電話數(shù)量的號碼一樣。
我們之所以要討論這個問題,是因為它是理解用抽象的數(shù)字所表示的顏色,與用“真實世界”的復(fù)制設(shè)備,如打印機、顯示器、掃描儀等,將這些數(shù)值能再現(xiàn)的相應(yīng)顏色感覺之間的差別。要是你考察一下在實際中那些顏色數(shù)值是如何被設(shè)備翻譯成“真實世界”顏色感覺的話,你就會發(fā)現(xiàn),顏色值與所再現(xiàn)的顏色感覺二者的差別是非常大的。
正由于這些內(nèi)容有助于理解顏色數(shù)值是如何工作,解釋為什么我們到處都可見到像256或1680萬這樣的數(shù)字。但請不要忘記,直到它們被彩色設(shè)備翻譯成真正的顏色感覺以前,它們只不過是一些純粹的數(shù)字而已。
顏色定義與顏色
許多人都將定義顏色的數(shù)值與顏色的數(shù)值搞混淆。例如,我們說發(fā)送給CMYK打印機的顏色自然要編碼為四個通道的數(shù)據(jù),那么,8位編碼的CMYK顏色真能達到256×256×256或43億個不同顏色嗎?理論上是的。任意四個通道都能產(chǎn)生43億個編碼,但當我們?yōu)檫@四個通道賦予C、M、Y和K數(shù)值的時候,我們并不能通過第四個通道(K)增加更多的實際顏色。事實上,許多CMYK編碼表示的是相同的顏色。例如,50C、50M、50Y、0K組成的顏色,在理論上與0C、0M、0Y、50K產(chǎn)生的是同樣的暗灰色。因此顏色編碼有許多是多余的。這樣一來,可能就會有人爭論,是否增加了額外的K值就真能夠比使用CMY三個顏色通道得到更多的階調(diào)層次。但是這樣會使我們現(xiàn)在要討論的問題更復(fù)雜化了,還是讓我們只簡單地說,8位CMYK編碼的實際顏色總數(shù)遠遠要少于43億吧。
另一個例子是,我們曾經(jīng)說到,有的掃描儀聲稱能夠識別出遠遠多于8位編碼的256個階調(diào)層次。他們聲稱能夠達到10位、12位,甚至14位的分辨能力。許多人都將這個顏色編碼與掃描儀的密度動態(tài)范圍弄混。密度動態(tài)范圍是指掃描儀從能夠可靠分辨層次的亮白色,到能夠可靠分辨層次的暗黑色所構(gòu)成的階調(diào)范圍。很多掃描儀制造廠家都聲稱這些“高比特”掃描儀能夠提供比8位更大的密度動態(tài)范圍,這種說法都是在混淆視聽。密度動態(tài)范圍是圖像采集設(shè)備能獲取模擬信號的界限范圍,無論如何與編碼位深度沒有任何關(guān)系。高比特僅僅將設(shè)備的密度動態(tài)范圍劃分為更多的不連續(xù)梯級,使我們在編輯圖像時具有更大的選擇余地。你可以將密度動態(tài)范圍理解為樓層的高度,而顏色位深則是樓梯所包含的臺階數(shù)量。顯然,如果我們想要梯級盡可能?。ㄟ@樣做是為了避免階調(diào)的跳變或條杠),密度動態(tài)范圍大的要比密度動態(tài)范圍小的需要更多的梯級,但密度動態(tài)范圍與梯級這兩者之間并沒有直接和必然的關(guān)系。