CIELAB色彩空間

<image>

CIELAB色彩空間（英語：CIELAB color space）又寫為L*a*b*，是國際照明委員會（縮寫為CIE）在1976年定義的色彩空間。它將顏色用三個值表達示：「L*」代表感知的亮度、「a*」和「b*」代表人類視覺的四種獨特顏色：紅色、綠色、藍色和黃色。CIELAB旨在作為一個感知上統一的空間，其中給定的數字變化對應於相似的感知顏色變化；雖然並不是真正的感知均勻，但在工業上仍可用於檢測顏色的細微差異。

CIELAB色彩空間與Hunter Lab都源自CIE XYZ色彩空間，為了有效區別，應避免將CIELAB寫為不帶星號的「Lab」。

## 概述

CIE L*a*b*（CIELAB）是慣常用來描述人眼可見的所有顏色的最完備的色彩模型。它是為這個特殊目的而由國際照明委員會（Commission Internationale d'Eclairage的首字母是CIE）提出的。L、a和b後面的星號（*）是全名的一部分，因為它們表示L*, a* 和b*，不同於L, a和b。因為紅／綠和黃／藍對立通道被計算為（假定的）錐狀細胞響應的類似孟塞爾值的變換的差異，CIELAB是Adams色彩值（Chromatic Value）空間。

三個基本坐標表示顏色的亮度（L*, L* = 0生成黑色而L* = 100指示白色），它在紅色／品紅色和綠色之間的位置（a*負值指示綠色而正值指示品紅）和它在黃色和藍色之間的位置（b*負值指示藍色而正值指示黃色）。

已經建立的L*a*b* 色彩模型來充當用做參照的設備無關的模型。要認識到永遠不能精確的在視覺上表示這個模型中顏色的完全色域是至關重要的。它們只是用來幫助理解概念而天生就不精確的。

因為L*a*b* 模型是三維模型，它只能在三維空間中完全表現出來。

「L*a*b*」模型也被表達為「L*C*h(a*, b*)」，它把a* 和b* 變換為輻射表示。

### 測量差別

CIE 1976 L*a*b* 直接基於CIE 1931 XYZ色彩空間衍生出來，它嘗試使用MacAdam橢圓所描述的顏色差異度量建立綫性化的顏色差異感知。L*, a* 和b* 的非綫性關係模仿人類眼睛的非線性響應。色彩資訊參照這個系統裏帶有下標n的白點的顏色。

在L*a*b* 模型中均勻改變對應在感知顏色中的均勻改變。所以在L*a*b* 中任何兩個顏色的相對感知差別，可以透過把每個顏色看成（有三個分量：L*, a*, b* 的）三維空間中一個點，並計算在它們之間的歐幾里得距離。在L*a*b* 空間中的這個歐幾里得距離是ΔE（經常被稱為「Delta E」，更精確的是ΔE*ab）。

使用L*a*b* 中的兩個顏色$({L_1}^*,\ {a_1}^*,\ {b_1}^*)$和$({L_2}^*,\ {a_2}^*,\ {b_2}^*)$:

$$\Delta {E^*}_{ab} = \sqrt{ ({L_2}^*-{L_1}^*)^2+({a_2}^*-{a_1}^*)^2 + ({b_2}^*-{b_1}^*)^2 }\,$$

一個有關的色彩空間，CIELUV色彩空間，遵從和L*a*b* 同樣的原理但有不同的u* 和v* 分量表示（保持相同的L*）。

### RGB和CMYK轉換

在RGB或CMYK值與L*a*b* 之間沒有轉換的簡單公式，因為RGB和CMYK色彩空間是設備依賴的。RGB或CMYK值首先必須被變換到特定絕對色彩空間中，比如sRGB或Adobe RGB。這種調整將是設備依賴的，但是變換的結果數據是設備無關的，允許把數據變換成CIE 1931色彩空間並接著變換成L*a*b*。

### XYZ與CIE L*a*b*(CIELAB)的轉換

#### 正向變換

$$L^* = 116\,f(Y/Y_n) - 16$$

$$a^* = 500\,[f(X/X_n) - f(Y/Y_n)]$$

$$b^* = 200\,[f(Y/Y_n) - f(Z/Z_n)]$$

其中。

$$\begin{align} <pre> f(t) &= \begin{cases} {t^{1/3}} & \text{,if }\quad t > (6/29)^3 \\ \frac{1}{3} \left(\frac{29}{6} \right)^2 t + \frac{16}{116} & \text{,otherwise} \end{cases} \\ </pre> \end{align}$$

這裡的$X_n \,$、$Y_n \,$、$Z_n \,$是參照白點的CIE XYZ三色刺激值。（下標n暗示了「normalized」）。

$f(t) \,$函數被分成兩個定義域是為了防止在$t=0 \,$處的無限斜率。在某個$t=t_0 \,$之下$f(t) \,$被假定是線性的，並被假定匹配函數的$t^{1/3} \,$部分在$t_0 \,$的值和斜率。換句話說：

$t_0^{1/3}\,$｜$=\,$｜$a t_0 + b\,$｜（匹配值）

$1/(3t_0^{2/3})\,$｜$=\,$｜$a\,$｜（匹配斜率）

$b$的值被選擇為16/116。上面兩個方程對$a$和$t_0$有解：

$a\,$｜$=\,$｜$1/(3\delta^2)\,$｜$= 7.787037\cdots$

$t_0\,$｜$=\,$｜$\delta^3\,$｜$= 0.008856\cdots$

這裡的$\delta=6/29 \,$。注意$16/116=2\delta/3 \,$。

#### 反向變換

反向變換如下($\delta=6/29 \,$如上):

- 定義$f_y\ \stackrel{\mathrm{def}}{=}\ (L^*+16)/116$
- 定義$f_x\ \stackrel{\mathrm{def}}{=}\ f_y+a^*/500$
- 定義$f_z\ \stackrel{\mathrm{def}}{=}\ f_y-b^*/200$
- 如果$f_y > \delta\,$則$Y=Y_nf_y^3\,$ 否則$Y=(f_y-16/116)3\delta^2Y_n\,$
- 如果$f_x > \delta\,$則$X=X_nf_x^3\,$ 否則 $X=(f_x-16/116)3\delta^2X_n\,$
- 如果$f_z > \delta\,$則$Z=Z_nf_z^3\,$ 否則 $Z=(f_z-16/116)3\delta^2Z_n\,$

## 用途

在軟體和文獻中存在對這個縮寫的明確使用。

- 在Adobe Photoshop中，圖象編輯使用的「Lab模式」是CIELAB D50。
- 在ICC Profile中，用做配置文件連接空間的「Lab色彩空間」是CIELAB D50。
- 在TIFF文件中，可以使用CIELAB色彩空間。
- 在PDF文檔中，「Lab色彩空間」是CIELAB。

## Hunter Lab

由理查·亨特於1948年定義的Hunter Lab色彩空間是另一種名稱有「Lab」的色彩空間。與CIELAB一樣，它也可以通過CIEXYZ空間中的簡單公式進行計算，但在感知上比CIEXYZ更為一致。亨特將他的色彩坐標命名為L、a和b。CIE將CIELAB的坐標命名為L*a*b*，以便於區別Hunter的坐標。

### 與CIELAB色彩空間的比較

兩個空間都得出自「主」空間CIE 1931 XYZ色彩空間，它可以預測哪些光譜功率分布會被感知為相同的顏色，但是它不是顯著感知均勻的。兩個「Lab」色彩空間都受到了孟塞爾顏色系統的強烈影響，意圖都是建立可以用簡單公式從XYZ計算出來，但比XYZ在感知上更線性的色彩空間。感知上線性意味著在色彩空間上相同數量的變化應當產生大約相同視覺重要性的變化。在用有限精度值來存儲顏色的時候，這可以增進色調的再生。兩個Lab空間都相對於它們從而轉換的XYZ數據的白點。Lab值不定義絕對色彩，除非還規定了這個白點。實際上白點經常被假定服從某個標準而不明確規定（比如ICC L*a*b* 值是相對於CIE標準光源D50）。

CIELAB使用立方根計算，而Hunter Lab使用平方根計算。除非數據必須與現存的Hunter L,a,b值相比較，對新應用推薦使用CIELAB。

## 外部連結

- Demonstrative color conversion applet
- CIE Color Calculator