Chapter 07

균등 색공간과 색차

XYZ는 두 색이 같은지는 정확히 말해 주지만, 두 색이 얼마나 다른지는 말해 주지 못한다. 인쇄 교정, 디스플레이 캘리브레이션, 도장 패널 매칭, 카메라 색 보정의 목적 함수는 모두 "색 차이를 숫자 하나로" 요구한다. 이 장은 거리가 지각 차이에 비례하도록 XYZ를 비선형으로 펴는 방법(CIELAB, CIELUV, OKLab)과, 그래도 남는 불균등을 가중치로 보정하는 색차식(ΔE76 → CIE94 → CIEDE2000)을 수식과 실제 숫자로 다룬다.

목표: 공간의 거리 = 지각 차이

3장의 XYZ는 등색(color matching)을 위한 좌표다. 두 자극의 XYZ가 같으면 (표준 관측자에게) 같아 보인다는 것만 보장한다. 그러나 XYZ 공간에서 두 점 사이의 유클리드 거리 \( \lVert \Delta XYZ \rVert \)는 지각된 차이와 거의 관계가 없다. 같은 \( \Delta Y = 1 \)이라도 어두운 회색에서는 뚜렷하고 밝은 회색에서는 보이지 않는다(베버–페히너 경향). 색도에서도 마찬가지다. 4장의 맥아담 타원(MacAdam ellipses)은 xy 색도도에서 "구별 못 하는 범위"가 녹색 영역에서는 크고 청색·백색 근처에서는 작으며, 모양도 원이 아니라 길쭉한 타원이라는 것을 보여 준다.

공학적으로 우리가 원하는 것은 변환 \( \Phi:\ XYZ \to \mathbb{R}^3 \)로, 변환된 공간의 거리가 지각 차이에 비례하는 것이다. 작은 차이에 대해 이 요구를 쓰면 다음과 같다.

$$ \Delta E^2 \approx d\mathbf{x}^{\mathsf T}\, \mathbf{G}(\mathbf{x})\, d\mathbf{x}, \qquad \text{균등 공간: } \mathbf{G}(\mathbf{x}) \approx \mathbf{I} $$
여기서 \( d\mathbf{x} \)는 색 좌표의 작은 변화, \( \mathbf{G}(\mathbf{x}) \)는 위치마다 다른 지각 계량 텐서(metric tensor)다. 맥아담 타원은 \( d\mathbf{x}^{\mathsf T}\mathbf{G}\,d\mathbf{x} = \text{const} \)인 등고선이다. 균등 색공간은 \( \mathbf{G} \)가 어디서나 단위 행렬에 가깝도록 좌표를 휘는 시도다.
0x 0.8 y 0u′ 0.65 v′ CIE 1931 xy 타원 면적 비 ≈ 30 : 1 CIE 1976 u′v′ 타원 면적 비 ≈ 11 : 1 점선: sRGB 삼각형 · 등고선: Y = 20 고정, ΔE00 = 1, 4배 확대
그림 7-1. 휘도 Y=20을 고정하고 색도만 바꿀 때 CIEDE2000 색차가 1이 되는 경계를 xy(왼쪽)와 u′v′(오른쪽)에서 계산해 4배 확대해 그린 것이다(맥아담의 원 측정값이 아니라, 현대 지각 데이터에 맞춘 ΔE00을 지각의 대리 지표로 쓴 것). 균등한 공간이라면 모두 같은 크기의 원이어야 한다. xy에서는 녹색 영역 (0.22, 0.62)의 장반경이 0.0217, 백색점의 단반경이 0.0016으로 열 배 넘게 차이 나고, u′v′는 이를 줄이지만 없애지는 못한다.

그림 7-1의 숫자를 읽으면 문제의 크기가 보인다. 장반경×단반경으로 본 타원 면적이 xy에서는 최대 약 30배, u′v′에서도 약 11배 차이 난다. 색도 평면만 고친 u′v′(CIE 1976 UCS)로는 부족하고, 명도까지 포함한 3차원 비선형 변환이 필요하다. 1976년 CIE가 함께 권고한 두 공간이 CIELAB과 CIELUV이고, 그 뒤 40년 동안의 역사는 "CIELAB에 남은 불균등을 색차식의 가중치로 보정"하는 쪽(CIE94, CIEDE2000)과 "더 균등한 새 공간"을 만드는 쪽(CAM16-UCS, OKLab)으로 나뉜다.

완벽한 균등 공간은 없다

작은 색차를 이어 붙인 경로 길이보다 두 끝점의 큰 색차가 더 작게 느껴지는 현상(diminishing returns)이 있어, 지각 색공간은 어떤 유클리드 공간으로도 정확히 펼 수 없다는 연구 결과가 있다(Bujack 등, 2022). 그래서 실무 색차식은 "작은 색차(대략 ΔE 5 이하)에서 잘 맞도록" 설계된다. 큰 색차를 ΔE로 비교하는 것은 원래 용도 밖이다.

CIELAB(1976): 정의와 기준 백색

CIELAB(정식 명칭 CIE 1976 L*a*b*, ISO/CIE 11664-4)은 세 단계로 만든다. ① 시료의 XYZ를 기준 백색 \( (X_n, Y_n, Z_n) \)으로 나눠 상대값으로 만든다. ② 각 비율에 세제곱근에 가까운 압축 함수 \( f \)를 적용한다(명도 지각의 비선형). ③ 압축된 값의 합·차로 명도와 두 반대색 축을 만든다(2장의 반대색 채널).

$$ L^* = 116\, f\!\left(\tfrac{Y}{Y_n}\right) - 16,\qquad a^* = 500\left[f\!\left(\tfrac{X}{X_n}\right) - f\!\left(\tfrac{Y}{Y_n}\right)\right],\qquad b^* = 200\left[f\!\left(\tfrac{Y}{Y_n}\right) - f\!\left(\tfrac{Z}{Z_n}\right)\right] $$ $$ f(t) = \begin{cases} t^{1/3}, & t \gt \varepsilon \\[4pt] \dfrac{\kappa\, t + 16}{116}, & t \le \varepsilon \end{cases}\qquad \varepsilon = \frac{216}{24389} = \left(\frac{6}{29}\right)^3 \approx 0.008856,\quad \kappa = \frac{24389}{27} \approx 903.3 $$
\( t \le \varepsilon \)인 어두운 영역에서는 세제곱근 대신 직선을 쓴다(무한대 기울기를 피하기 위해). 초기 문헌의 0.008856, 7.787(=κ/116) 같은 반올림 상수는 두 구간이 정확히 이어지지 않는 작은 틈을 만들므로, CIE 015:2018처럼 유리수 정의를 쓰는 것이 좋다. 경계에서 \( L^* = 8 \)이다.
Y = 0.18 → L* = 49.5 점선: L* = 100·Y (선형이었다면) 00.51 Y / Yn 050100 L* ε: Y/Yn = 0.008856, L* = 8 어두운 영역 확대 (Y/Yn 0 ~ 0.02) 점선: 116·∛t − 16 (세제곱근만 쓰면 −16까지) L* = 0 실선: 선형 구간 κ·t로 0에서 시작
그림 7-2. 상대 휘도 Y/Yn에 대한 L*. 18% 회색이 L* ≈ 50 근처에 오도록 하는 대략 세제곱근 곡선이다(L* = 50은 Y = 18.4%). 오른쪽은 ε 아래의 선형 구간: 세제곱근만 쓰면 Y=0에서 L* = −16이 되고 기울기가 무한대가 된다.

각 축의 의미. \( L^* \)는 0(흑)–100(기준 백색)의 명도(lightness)다. \( a^* \)는 +이면 적(마젠타 쪽), −이면 녹, \( b^* \)는 +이면 황, −이면 청이다. 계수 500과 200은 세 축의 단위 차이가 대략 비슷한 지각 크기가 되도록 정한 값이다. \( a^* \), \( b^* \)에는 이론적 상하한이 없고, 실제 표면색은 대략 ±100, sRGB 원색 청은 \( b^* = -107.9 \)까지 간다.

L* = 100 (기준 백색)L* = 0 +a*−a* +b*−b* h_ab C* (a*, b*) +a*+b* L* 고정 단면(위에서 본 a*b* 평면)
그림 7-3. CIELAB의 기하. 수직축이 명도 L*, 수평 단면이 반대색 평면 a*b*다. 단면의 극좌표가 채도 C*ab(원점에서의 거리)와 색상각 hab(+a* 축에서 반시계 방향 각)이다.

기준 백색 의존성. CIELAB은 "백색에 대한 상대값"이다. D65 2° 백색이면 \( (X_n,Y_n,Z_n) = (95.05,\,100,\,108.91) \), D50이면 \( (96.42,\,100,\,82.52) \)다. 같은 시료 XYZ라도 어떤 백색으로 나누느냐에 따라 Lab이 달라지며, ICC 프로파일의 PCS(Profile Connection Space)는 D50 Lab, sRGB·웹 계산은 보통 D65 Lab이다(16장). \( X/X_n \) 나눗셈은 백색이 무채색으로 가도록 하는 일종의 von Kries 정규화지만, 원추 공간이 아니라 XYZ 축에서 하므로 정확한 색순응 모델은 아니다(이른바 "잘못된 von Kries", 8장).

SIMULATOR

Lab / LCh 탐색기와 a*b* 단면

입력 좌표계
L*, a*, b*—
C*ab, h_ab—
XYZ (D65, Yn=100)—
sRGB—
가멋—
해볼 것: ① L*을 0→100으로 움직이며 sRGB 단면(색이 칠해진 영역)의 모양을 보라. 청(−b*) 방향은 어두운 L*에서 가장 멀리 뻗고, 황(+b*)은 L* 90 이상에서만 크다. ② "sRGB 청"을 누른 뒤 LCh 모드에서 C*만 줄여 보라 — h_ab를 고정했는데 색이 보라로 변한다(8절에서 다룬다). ③ 단면을 클릭하면 그 a*, b*로 이동한다. 가멋 밖 색은 화면에서 클리핑되어 실제와 다르게 보인다.

실제 수치 예. 기준 백색 D65에서 sRGB 원색의 Lab은 적 #FF0000 = (53.24, 80.09, 67.20), 녹 #00FF00 = (87.74, −86.18, 83.19), 청 #0000FF = (32.30, 79.20, −107.86), 황 #FFFF00 = (97.14, −21.56, 94.48)이다. 같은 "최대 원색"이라도 명도가 32에서 97까지 흩어져 있다는 점이 RGB 값으로는 보이지 않는 정보다.

흔한 실수

① 스케일 불일치: 시료 XYZ는 Y=0..1인데 백색을 Y=100으로 주면 L*이 거의 0이 된다. 시료와 백색은 같은 스케일이어야 한다. ② D50 Lab(ICC, 인쇄 측정값)과 D65 Lab(웹·영상 계산)을 섞어 ΔE를 계산하는 것. 같은 색인데도 ΔE가 수 단위로 나온다. 백색을 바꿀 때는 Lab을 직접 고치지 말고 XYZ에서 색순응 변환(Bradford 등) 후 다시 Lab을 계산한다. ③ 감마 인코딩된 R′G′B′ 값으로 바로 Lab 공식을 적용하는 것. 반드시 선형화 → XYZ → Lab 순서다(6장).

LCh 극좌표와 CIELUV

a*b* 평면을 극좌표로 쓰면 사람의 언어("더 밝게, 더 선명하게, 더 노랗게")에 대응하는 세 속성이 된다.

$$ C^*_{ab} = \sqrt{a^{*2} + b^{*2}},\qquad h_{ab} = \operatorname{atan2}(b^*, a^*)\ \ [0^\circ, 360^\circ) $$ $$ \Delta H^*_{ab} = \sqrt{\Delta E^{*2}_{ab} - \Delta L^{*2} - \Delta C^{*2}_{ab}} = 2\sqrt{C^*_1 C^*_2}\,\sin\frac{\Delta h_{ab}}{2} $$
\( \Delta H^* \)는 색상각 차이 \( \Delta h \)(도)가 아니라 색상 방향의 거리다. 채도가 큰 색일수록 같은 각도 차가 큰 \( \Delta H^* \)가 된다. 무채색 근처(\( C^* \lt 0.5 \) 정도)에서는 h가 사실상 정의되지 않으므로 색상각을 보고하지 않는다.

CIE94와 CIEDE2000은 모두 이 분해 \( \Delta E^{*2} = \Delta L^{*2} + \Delta C^{*2} + \Delta H^{*2} \) 위에서 각 성분을 서로 다른 척도 SL, SC, SH로 나눈다. 즉 색차식의 가중은 명도·채도·색상 방향에 서로 다른 허용 폭을 주는 것이다.

CIELUV. 같은 1976년에 권고된 CIELUV(ISO/CIE 11664-5)는 명도 L*은 CIELAB과 같고, 색도 부분을 u′v′ 색도 좌표의 차이로 만든다.

$$ u^* = 13\,L^*\,(u' - u'_n),\qquad v^* = 13\,L^*\,(v' - v'_n),\qquad s_{uv} = 13\sqrt{(u'-u'_n)^2 + (v'-v'_n)^2} $$
\( (u'_n, v'_n) \)은 기준 백색의 색도, \( s_{uv} \)는 CIELUV에서 정의되는 포화도(saturation)다.

CIELUV는 u′v′ 색도도와 직접 연결되어 있으므로 가산 혼합이 색도도에서 직선이라는 성질(4장)을 그대로 쓸 수 있다. 그래서 디스플레이·조명 분야에서 백색점 편차를 Δu′v′로 말하는 관행과 잘 맞는다. 반면 백색 정규화가 나눗셈이 아닌 뺄셈(평행 이동)이라서 광원이 바뀔 때의 거동은 CIELAB의 von Kries 유사 나눗셈보다 더 나쁘고, 이 때문에 표면색(인쇄, 도장, 섬유)의 색차 평가는 CIELAB으로 굳어졌다.

항목CIELABCIELUVOKLab
발표CIE 1976 (ISO/CIE 11664-4)CIE 1976 (ISO/CIE 11664-5)Ottosson 2020 (CSS Color 4 채택)
비선형f(X/Xn) 등: 세제곱근 + 선형 구간L*만 세제곱근, 색도는 u′v′ 차이 × L*LMS 유사 신호의 세제곱근
백색 정규화XYZ 축 나눗셈 (von Kries 유사)u′v′ 뺄셈 (평행 이동)D65 고정 (정규화 단계 없음)
연결된 색도도없음u′v′ (가산 혼합 직선)없음
주 용도표면색 색차, ICC PCS, 품질 관리디스플레이·조명 색도 편차그래픽 SW, CSS 색, 그라데이션·팔레트
알려진 약점청색 색상 휨, 고채도 채도 차 과대색순응 거동, 색차 균등성D65 sRGB 계열 전용, 관측 조건 없음

ΔE*ab(1976)에서 CIE94와 CMC로

가장 단순한 색차는 CIELAB에서의 유클리드 거리다.

$$ \Delta E^*_{ab} = \sqrt{(\Delta L^*)^2 + (\Delta a^*)^2 + (\Delta b^*)^2} = \sqrt{(\Delta L^*)^2 + (\Delta C^*_{ab})^2 + (\Delta H^*_{ab})^2} $$

계산이 쉽고 지금도 사양서에 많이 남아 있지만, CIELAB 자체의 불균등이 그대로 드러난다. 가장 큰 문제는 채도가 높을수록 같은 ΔE*ab가 덜 보인다는 것이다. 고채도 색의 허용 타원은 채도 방향으로 길게 늘어나므로, ΔE*ab는 선명한 색의 차이를 과대평가하고 회색 근처의 차이를 과소평가한다. 정지 문턱(JND)으로 흔히 인용되는 "ΔE*ab ≈ 2.3"(Mahy 등, 1994)도 색 영역에 따라 크게 달라지는 평균값일 뿐이다.

CMC l:c (1984). 영국 염색가협회(SDC)의 색 측정 위원회가 섬유 합격 판정 데이터로 만든 식으로, 성분별 척도를 기준색의 명도·채도·색상각의 함수로 둔다.

$$ \Delta E_{CMC(l:c)} = \sqrt{\left(\frac{\Delta L^*}{l\,S_L}\right)^2 + \left(\frac{\Delta C^*}{c\,S_C}\right)^2 + \left(\frac{\Delta H^*}{S_H}\right)^2} $$ $$ S_L = \begin{cases} 0.511 & L^*_1 \lt 16 \\ \dfrac{0.040975\,L^*_1}{1 + 0.01765\,L^*_1} & \text{otherwise}\end{cases},\quad S_C = \frac{0.0638\,C^*_1}{1+0.0131\,C^*_1} + 0.638,\quad S_H = S_C\,(F\,T + 1 - F) $$
\( F = \sqrt{C_1^{*4}/(C_1^{*4}+1900)} \), \( T = 0.56 + |0.2\cos(h_1+168^\circ)| \) (164° ≤ h₁ ≤ 345°), 그 외 \( 0.36 + |0.4\cos(h_1+35^\circ)| \). 첨자 1은 기준색. 합격성(acceptability) 판정에는 l:c = 2:1, 지각성(perceptibility)에는 1:1을 쓴다. 섬유 시험 규격 ISO 105-J03이 이 식을 쓴다.

CIE94 (CIE 116-1995). CMC의 복잡한 함수를 단순한 선형 가중으로 줄인 식이다.

$$ \Delta E^*_{94} = \sqrt{\left(\frac{\Delta L^*}{k_L S_L}\right)^2 + \left(\frac{\Delta C^*_{ab}}{k_C S_C}\right)^2 + \left(\frac{\Delta H^*_{ab}}{k_H S_H}\right)^2},\qquad S_L = 1,\ \ S_C = 1 + K_1 C^*_1,\ \ S_H = 1 + K_2 C^*_1 $$
\( C^*_1 \)은 기준색의 채도(기준이 없으면 두 색 채도의 기하평균). 채도가 높을수록 SC, SH가 커져 허용 폭이 넓어진다. 기준 조건에서 \( k_C = k_H = 1 \).
식용도kL (또는 l)K₁K₂비고
CIE94그래픽 아트10.0450.015기준색 채도로 가중 → 비대칭
CIE94섬유20.0480.014명도 차를 절반으로 평가
CMC 2:1섬유 합격성l = 2, c = 1——ISO 105-J03
CIEDE2000범용1 (섬유 2)——CIE 142-2001, ISO/CIE 11664-6
공학자 관점: 비대칭 색차식

CIE94와 CMC는 \( \Delta E(A,B) \ne \Delta E(B,A) \)다. 어느 쪽이 기준(표준 시료)인지를 반드시 정하고, 측정 SW가 어느 쪽을 기준으로 잡는지 확인해야 한다. 기준을 뒤바꾸면 고채도 영역에서 수 % 이상 다른 값이 나온다. CIEDE2000은 두 색의 평균을 쓰므로 대칭이다.

섬유에서 \( k_L = 2 \)를 쓰는 이유는 직물의 질감·광택 때문에 명도 차이가 덜 민감하게 판정되기 때문이다. 즉 \( k \) 계수는 "관측 조건이 기준 조건(균일한 회색 배경, 매끈한 시료, D65 근사 조명, 1000 lx 근방)과 다를 때" 쓰는 산업 파라미터이고, 색차식의 물리적 정의를 바꾸는 것이 아니다.

CIEDE2000: 항별로 뜯어보기

CIEDE2000(CIE 142-2001, ISO/CIE 11664-6)은 CIE94의 구조(성분별 척도)를 유지하면서, 여러 지각 색차 데이터 세트(BFD-P, Leeds, RIT–DuPont, Witt)를 결합해 남은 체계적 오차를 다섯 가지 보정으로 줄인 식이다. 입력은 두 CIELAB 값 \( (L_1^*, a_1^*, b_1^*) \), \( (L_2^*, a_2^*, b_2^*) \)이다.

Lab₁, Lab₂CIELAB 입력 ① a′ = (1+G)·a*무채색 근처 a* 확대C̄* ≪ 25 이면 G → 0.5 C′, h′ (극좌표)ΔL′, ΔC′, ΔH′ ② S_L(L̄′) V자 가중③ S_C(C̄′) ④ S_H(C̄′,T(h̄′))성분별 허용 폭 ⑤ R_T · (ΔC′/S_C)(ΔH′/S_H)청색 h̄′ ≈ 275° 부근에서만 큰 회전 교차항허용 타원을 기울인다 ΔE₀₀
그림 7-4. CIEDE2000의 계산 흐름. ①–⑤가 ΔE*ab에 더해진 다섯 가지 보정이다. ③④는 CIE94와 같은 발상(채도가 클수록 허용 폭 증가)이고, ①②⑤가 새로 들어간 항이다.

① a* 축 재척도 (G). 무채색 근처에서는 a* 방향 차이가 ΔE*ab가 예측하는 것보다 더 잘 보인다. 그래서 두 색의 평균 채도 \( \bar C^* \)가 작을 때 a*를 최대 1.5배 늘린다.

$$ G = 0.5\left(1 - \sqrt{\frac{\bar C^{*7}}{\bar C^{*7} + 25^7}}\right),\qquad a'_i = (1+G)\,a^*_i,\qquad C'_i = \sqrt{a'^2_i + b^{*2}_i},\qquad h'_i = \operatorname{atan2}(b^*_i, a'_i) $$

차이와 평균. 이후 모든 계산은 수정된 \( a' \)로 한다.

$$ \Delta L' = L^*_2 - L^*_1,\quad \Delta C' = C'_2 - C'_1,\quad \Delta H' = 2\sqrt{C'_1 C'_2}\,\sin\frac{\Delta h'}{2},\quad \bar L' = \frac{L^*_1+L^*_2}{2},\ \bar C' = \frac{C'_1+C'_2}{2},\ \bar h' $$
\( \Delta h' = h'_2 - h'_1 \)을 [−180°, 180°]로 감싼다. 평균 색상각 \( \bar h' \)는 두 각의 차가 180°를 넘으면 360°를 더하거나 빼서 짧은 호의 중점을 취한다. 한쪽 채도가 0이면 \( \Delta h' = 0 \), \( \bar h' = h'_1 + h'_2 \).

② 명도 가중 SL. 중간 회색(L* = 50) 배경에서 관측한 데이터에 맞춰, 명도 차이는 L* = 50 근처에서 가장 민감하고 아주 밝거나 어두운 쪽에서 둔하다(V자 곡선).

$$ S_L = 1 + \frac{0.015\,(\bar L' - 50)^2}{\sqrt{20 + (\bar L' - 50)^2}} \qquad (\bar L' = 50: 1.000,\ \ \bar L' = 90: 1.596) $$

③④ 채도·색상 가중 SC, SH와 색상 함수 T.

$$ S_C = 1 + 0.045\,\bar C',\qquad S_H = 1 + 0.015\,\bar C'\,T $$ $$ T = 1 - 0.17\cos(\bar h' - 30^\circ) + 0.24\cos(2\bar h') + 0.32\cos(3\bar h' + 6^\circ) - 0.20\cos(4\bar h' - 63^\circ) $$
T는 색상 방향 허용 폭이 색상각에 따라 달라지는 것을 표현한다. 황(h ≈ 60°–90°, T ≈ 0.61)과 청·청자(h ≈ 270°–300°, T ≈ 0.72–0.45) 근처에서 작아 색상 차이를 더 엄격하게 보고, h ≈ 240°에서는 1.5 이상으로 커진다.

⑤ 회전항 RT. 청색 영역에서는 허용 타원의 장축이 채도 방향에서 기울어 있다. 이는 대각 가중만으로는 표현할 수 없으므로 채도·색상 성분의 교차항을 넣는다.

$$ \Delta\theta = 30^\circ \exp\!\left[-\left(\frac{\bar h' - 275^\circ}{25^\circ}\right)^2\right],\qquad R_C = 2\sqrt{\frac{\bar C'^7}{\bar C'^7 + 25^7}},\qquad R_T = -\sin(2\Delta\theta)\,R_C $$ $$ \Delta E_{00} = \sqrt{\left(\frac{\Delta L'}{k_L S_L}\right)^2 + \left(\frac{\Delta C'}{k_C S_C}\right)^2 + \left(\frac{\Delta H'}{k_H S_H}\right)^2 + R_T\,\frac{\Delta C'}{k_C S_C}\,\frac{\Delta H'}{k_H S_H}} $$
RT는 \( \bar h' \)가 275°에서 멀면 0에 가깝고, 채도가 충분히 크면(\( R_C \to 2 \)) 최소 약 −1.73까지 간다. 교차항의 부호가 ΔC′와 ΔH′의 상대 부호에 따라 바뀌므로, 같은 크기의 이동이라도 "채도 증가 + 한쪽 색상 방향"과 "채도 증가 + 반대쪽 색상 방향"의 ΔE00가 다르다.
SIMULATOR

두 색 비교기: ΔE76 / 94 / CMC / 2000과 항별 분해

색 1 (기준) L*, a*, b* / hex
색 2 (시료) L*, a*, b* / hex
예제 쌍
CIEDE2000 kL
ΔE*ab (1976)—
ΔE94 그래픽 / 섬유—
CMC (2:1)—
ΔE00—
S_L, S_C, S_H—
G, T, R_T—
해볼 것: ① "Sharma #1"은 Sharma 등(2005)의 시험 쌍 1번이다. ΔE00 = 2.0425가 나와야 구현이 맞다. 아래 막대에서 R_T 교차항이 제곱합의 약 38%를 차지한다. ② "고채도 적"은 ΔE*ab ≈ 5인데 ΔE00 ≈ 1이다 — 채도 방향 차이는 선명한 색에서 잘 안 보인다. ③ "회색 근처"는 반대로 ΔE00가 ΔE*ab보다 크다(G 항). ④ "밝은 회색"에서 kL을 2로 바꿔 보라. ⑤ 숫자 칸이나 hex 칸을 직접 고쳐도 된다(hex는 sRGB D65 기준).

실제 수치 예(Sharma 시험 쌍 1번): (50, 2.6772, −79.7751) 대 (50, 0, −82.7485). ΔE*ab = 4.00인데 ΔE00 = 2.0425다. 내부 값은 \( G \approx 0.0001 \), \( S_C = 4.658 \), \( S_H = 1.842 \), \( T = 0.691 \), \( \bar h' = 271.0^\circ \), \( R_T = -1.704 \)이고, 제곱합 4.171 중 채도 항 0.395, 색상 항 2.190, 회전 교차항 1.586이다. 청색 영역에서는 RT 없이 계산하면 ΔE00가 1.61로 21% 작게 나온다.

구현 함정

CIEDE2000 구현 오류는 대부분 ① 색상각을 라디안·도로 섞어 쓰는 것, ② \( \Delta h' \) 감싸기와 \( \bar h' \) 평균의 경우 분기를 빠뜨리는 것, ③ 한쪽 채도가 0인 경우 처리, ④ G를 각 색의 채도가 아니라 평균 채도로 계산해야 하는 것을 놓치는 데서 온다. Sharma·Wu·Dalal(2005)이 34쌍의 시험 데이터와 함께 이 함정을 정리했다. 새 구현은 반드시 그 표로 검증하라. 또한 평균 색상각 계산 때문에 ΔE00에는 작은 불연속이 있어, 최적화 목적 함수로 쓸 때 미분이 튈 수 있다.

같은 ΔE76, 다른 ΔE00: 허용 타원 지도

ΔE*ab = k인 점의 집합은 CIELAB에서 반지름 k인 구(단면에서는 원)다. CIEDE2000에서 같은 k의 등고선은 위치마다 크기·모양·방향이 다른 타원이 된다. 이 타원이 곧 "CIELAB이 얼마나 불균등한가"의 지도다.

SIMULATOR

a*b* 평면의 ΔE00 = k 등고선 (ΔE76 원과 비교)

표시 배율

단면을 클릭하면 그 위치를 선택 중심으로 삼는다.

선택 중심 (L*, a*, b*)—
채도 방향 반경—
색상 방향 반경—
장축/단축—
장축의 기울기 (채도 방향 기준)—
해볼 것: ① 원점(무채색) 근처의 등고선은 ΔE76 원보다 작고 a* 방향으로 납작하다(G 항). ② 바깥쪽 고채도 점일수록 등고선이 채도 방향(원점에서 바깥쪽)으로 길어진다(SC). ③ a* ≈ 0, b* ≈ −50 부근(청, h ≈ 270°)을 클릭해 장축 기울기를 보라. 다른 색상에서는 0° 근처인데 청색에서만 15°–20° 기운다 — RT의 효과다. 원점(무채색)에서는 a* 방향 반경이 b* 방향보다 작다(k=2에서 1.40 대 2.09). ④ L*을 50에서 90으로 올리면 단면 밖 색이 늘어나지만 등고선 모양은 거의 같다(L* 가중은 명도 차이에만 작용).

아래 표는 모두 CIELAB 거리 ΔE*ab ≈ 5인 색 쌍이다(좌표는 소수 첫째 자리로 반올림한 값으로 다시 계산했다). 같은 "5"가 CIEDE2000에서는 1.05부터 5.75까지 5배 이상 흩어진다.

영역 · 차이 방향색 1 (L*, a*, b*)색 2ΔE*abΔE94CMC 2:1ΔE00
무채색 · 명도 (L* 50)50, 0, 055, 0, 05.005.002.304.91
무채색 · 명도 (L* 90)90, 0, 095, 0, 05.005.001.753.06
무채색 → 약한 채도50, 0, 050, 3, 45.005.007.845.30
회색 근처 · a* 방향50, 2, 050, 7, 05.004.596.565.75
고채도 적 · 채도 방향50, 61.3, 51.450, 65.1, 54.64.971.081.591.05
고채도 적 · 색상 방향50, 61.3, 51.450, 58.0, 55.25.032.293.472.74
고채도 황 · 색상 방향85, 0, 8085, −5, 79.85.002.272.712.85
청 (h 290°) · 채도 방향30, 23.9, −65.830, 25.7, −70.55.031.211.701.14
청 (h 290°) · 색상 방향30, 23.9, −65.830, 28.6, −63.95.072.472.913.66
청 (h 275°) · 채도↑ + 색상 ⟲40, 4.4, −49.840, 8.2, −53.04.972.232.671.57
청 (h 275°) · 채도↑ + 색상 ⟳40, 4.4, −49.840, 1.1, −53.65.032.292.733.34

표에서 읽을 것: ① 고채도 색의 채도 방향 차이는 ΔE*ab가 약 5배 과대평가한다. ② 밝은 회색의 명도 차이는 L* 50보다 덜 보인다(SL = 1.60). ③ 마지막 두 행은 기준과 이동 거리가 같고 색상 이동 방향만 반대인데 ΔE00가 1.57 대 3.34로 두 배 넘게 다르다. 대각 가중만 있는 CIE94(2.23 대 2.29)는 이 차이를 구별하지 못한다. 이것이 RT가 만든 타원의 기울기다. ④ CMC는 무채색 근처를 특히 엄격하게(7.84) 본다. 식마다 "엄격한 영역"이 다르므로 사양서에는 식 이름을 꼭 쓴다.

실무 허용치와 ΔE 판정의 함정

색차식은 결국 합격/불합격을 가르는 데 쓰인다. 업계마다 시료 성질(광택, 질감), 관측 조건, 고객 기대가 달라 허용치가 다르며, 아래 표는 통용되는 대략적 범위의 예시다. 실제 값은 계약·사내 규격·해당 표준 문서를 따른다.

상황흔히 쓰는 지표대략적 허용치 (예시)비고
나란히 놓고 겨우 구별 (JND)ΔE00≈ 0.5 – 1균일 배경·이상적 조건. ΔE*ab로는 약 2.3이 흔히 인용
디스플레이 캘리브레이션 검증ΔE00 (패치 평균 / 최대)평균 < 1 – 2, 최대 < 3 – 4검증 패치 세트와 기준 백색 명시 필요
인쇄: 교정쇄·인쇄물 vs 기준 데이터ΔE*ab 또는 ΔE00원색 솔리드 수 단위, 평균 ΔE00 1 – 3ISO 12647-2가 오프셋 인쇄의 ΔE 허용차를 규정
자동차 외장 도장 (인접 패널)ΔE00, 다각도 측정≈ 0.5 – 1 (각도별)메탈릭·펄은 관측 각도마다 따로 판정
섬유 염색 합격CMC(2:1), ΔE00(2:1:1)≈ 1ISO 105-J03 (CMC)
플라스틱·일반 소비재ΔE*ab, ΔE00≈ 1 – 2광원별(D65, A, F) 메타머리즘 확인 병행
a*b* 채도 방향 기준 A B A와 B는 기준에서 같은 ΔE*ab (점선 원 위) A: 채도 방향 → ΔE00 작음, 합격 B: 색상 방향 → ΔE00 큼, 불합격 ΔE00가 같은 두 시료라도 하나는 "더 밝음", 하나는 "더 노람" — 숫자 하나는 어느 쪽으로 틀렸는지 알려 주지 않는다. → ΔL′, ΔC′, ΔH′ (또는 ΔL*, Δa*, Δb*)를 함께 보고
그림 7-5. 허용 원(ΔE*ab, 점선)과 허용 타원(ΔE00, 색). 고채도 색의 타원은 채도 방향으로 길다. 같은 ΔE*ab 원 위의 A는 합격, B는 불합격이다.
공학자 관점: ΔE 하나로 판정할 때의 함정

① 방향성: 공정 조정에는 "얼마나"보다 "어느 쪽으로"가 필요하다. ΔL′, ΔC′, ΔH′ 성분(또는 Δa*, Δb*의 부호)을 함께 기록하라. 같은 ΔE00 1.5라도 명도 차이는 잉크 농도 조정으로, 색상 차이는 배합 변경으로 해결해야 한다. ② 명도 vs 색상: 고객은 대개 색상(hue) 차이에 훨씬 엄격하다. 성분별 상한(예: |ΔH′| 를 따로 제한)을 두는 규격이 많다. ③ 통계: 여러 패치를 평가할 때 평균 ΔE만 보면 한두 개의 큰 오차가 묻힌다. 평균과 함께 최대값 또는 95 백분위수를 보고한다. ④ 측정 조건: 광원(D50/D65), 관측자(2°/10°), 측정 기하(45°:0°, d:8°), 정반사 포함 여부(SCI/SCE), UV 조건(ISO 13655 M0–M3)이 다르면 같은 시료의 Lab이 달라진다(11장). ⑤ 식 이름 명시: "ΔE < 2"는 ΔE*ab, ΔE94, ΔE00 중 무엇이냐에 따라 전혀 다른 요구다.

실제 수치 예: 8비트 sRGB 회색 128 → 129 한 코드 차이는 ΔE00 = 0.38, 10 → 11은 0.17이다. 즉 sRGB 8비트 양자화는 회색 축에서 JND 아래에 있다. 반면 선형 8비트로 저장하면 어두운 쪽 한 코드가 수 ΔE에 달한다(6장의 밴딩 논의).

CIELAB의 색상 휨: 파랑이 보라가 된다

균등 색공간의 또 다른 요구는 색상 직선성(hue linearity)이다. 명도와 색상각을 고정하고 채도만 줄이면, 지각되는 색상도 그대로여야 한다. CIELAB은 대부분의 색상에서 이를 대략 만족하지만, 청색 영역(hab ≈ 270°–310°)에서 크게 실패한다. Hung–Berns(1995)의 일정 색상 데이터에서 청색의 일정 색상선은 CIELAB a*b* 평면에서 직선이 아니라 크게 휜 곡선이다. 그래서 CIELAB에서 sRGB 청 #0000FF의 채도를 hab = 306.3° 그대로 줄이면 색이 보라로 보인다.

a*b* sRGB 원색·2차색에서 출발해 OKLab 색상각·명도를 고정하고 채도를 0으로 점선: CIELAB에서 h_ab 고정 (직선) 색 곡선: OKLab에서 h 고정 → CIELAB에 투영 청: h_ab 306° → 274°로 32° 휨 적: 40° → 33.5°, 녹·황·청록·자홍: 6° 이하 곡선이 실제 일정 색상선에 더 가깝다는 것은 Hung–Berns 데이터와 시각 비교로 판단한다.
그림 7-6. OKLab에서 색상각을 고정한 경로(색 곡선)를 CIELAB a*b* 평면에 그린 것. CIELAB의 일정 hab 선(점선)과 거의 겹치는 색상도 있지만, 청색은 크게 휜다. 두 공간이 "같은 색상"에 대해 32°나 다르게 말한다는 뜻이다.
SIMULATOR

색상 휨 비교 띠: CIELAB vs OKLab

출발 색 (sRGB 최대 채도)
출발 색 LCh / OKLCh—
Lab 선의 OKLab 색상 변화 (채도 50%)—
OKLab 선의 Lab 색상 변화 (채도 50%)—
끝 회색의 L* (Lab 선 / OKLab 선)—
해볼 것: ① "청"에서 위 띠(CIELAB, hab 고정)의 중간이 보라로 보이는지, 아래 띠(OKLab, h 고정)가 파랑을 유지하는지 비교하라. 그래프에서 Lab 선은 OKLab 기준으로 채도 50%에서 약 26° 돈다. ② "녹", "청록"에서는 두 곡선이 거의 0 근처다 — 휨은 청색 영역 고유의 문제다. ③ 끝 회색의 L*이 다르다: OKLab의 명도 L은 CIELAB L*와 척도가 다르다(청 #0000FF: L* 32.3, OKLab L 0.452 → 회색 L* 36.4).

두 곡선은 서로를 기준으로 잰 것이므로, 어느 쪽이 맞는지는 시각 비교와 일정 색상 실험 데이터(Hung–Berns, Ebner–Fairchild)로 판단한다. 그 데이터에 맞춘 IPT와 이를 이어받은 OKLab에서는 청색 선이 거의 곧다. 실무 결과는 분명하다: CIELAB/LCh에서 채도를 깎는 가멋 매핑이나 팔레트 생성은 청색을 보라로 틀어 버린다(5장의 가멋 매핑, 18장의 팔레트 설계).

OKLab과 색 보간

OKLab은 Björn Ottosson이 2020년에 발표한 공간으로, 목표가 분명하다: ① 명도와 채도 예측은 CAM16-UCS에 가깝게, ② 색상 균일성은 IPT처럼(청색 휨 없이), ③ 계산은 행렬 두 번과 세제곱근 한 번으로 단순하고 정확히 역변환 가능하게. 색 외관 모델의 관측 조건 파라미터(주변 휘도, 순응 정도)는 없다 — 그것이 필요하면 CAM16-UCS(9장)를 쓴다.

CIELAB XYZ ÷ (Xn, Yn, Zn)XYZ 축 백색 정규화 f(·) = ∛ + 선형채널별 압축 116fy−16, 500(fx−fy),200(fy−fz) OKLab XYZ (D65)또는 선형 sRGB M₁ → (l, m, s)원추 응답 유사 공간 ∛l, ∛m, ∛s선형 구간 없음 M₂ → (L, a, b)데이터에 최적화된 행렬
그림 7-7. 두 공간의 구조는 비슷하다(선형 → 압축 → 선형). 차이는 압축 전 공간(XYZ 대 원추 유사 LMS)과 마지막 행렬(고정 계수 대 데이터 최적화)이다. 원추 유사 공간에서 압축하므로 색상이 덜 휜다.
$$ \begin{pmatrix} l \\ m \\ s \end{pmatrix} = \mathbf{M}_1 \begin{pmatrix} X \\ Y \\ Z \end{pmatrix},\qquad \begin{pmatrix} L \\ a \\ b \end{pmatrix} = \mathbf{M}_2 \begin{pmatrix} l^{1/3} \\ m^{1/3} \\ s^{1/3} \end{pmatrix},\qquad C = \sqrt{a^2+b^2},\ \ h = \operatorname{atan2}(b, a) $$
D65 백색이 \( (L,a,b) = (1, 0, 0) \)이 되도록 정규화되어 있다. 선형 sRGB에서 직접 가는 결합 행렬도 공개되어 있다(이 책의 CB.linRGB2oklab). sRGB 청 #0000FF는 OKLab (0.452, −0.032, −0.312), OKLCh (0.452, 0.313, 264.1°)다.

CSS에서의 OKLab. CSS Color Level 4는 oklab(), oklch() 함수를 정의한다. 예를 들어 oklch(45.2% 0.313 264.1)은 sRGB 청과 같은 색이다. color-mix(in oklch, …)나 linear-gradient(in oklab, …)처럼 보간 공간을 지정하는 문법도 표준화되어, 웹에서 "어느 공간에서 섞을지"를 명시적으로 고를 수 있다.

SIMULATOR

그라데이션 보간 공간 비교

시작 / 끝 색 (hex)
예제

각 띠 아래의 빨간 눈금은 보간 결과가 sRGB 가멋 밖이라 클리핑된 구간이다. 오른쪽 숫자는 33개 샘플 사이 ΔE00의 합과 최대/평균 비(1에 가까울수록 지각적으로 고르게 변함)다.

sRGB 감마 중간점—
선형 sRGB 중간점—
CIELAB 중간점—
LCh(ab) 중간점—
OKLab 중간점—
OKLCh 중간점—
해볼 것: ① 청→황: sRGB 감마 보간의 중간점은 정확히 회색 (127.5, 127.5, 127.5)(채도 0)이다. 보색 사이를 직교 좌표로 섞으면 회색을 지나간다. CIELAB은 분홍빛(#CA8AAA, 청 휨의 흔적), OKLab은 청록빛 회색(#6CABC7)을 지난다. 극좌표(LCh, OKLCh)는 채도를 유지하지만 색상환을 돌아 가멋 밖으로 나간다. ② 청→백: CIELAB의 중간점 #B38BFF는 보라, OKLab의 #74A3FF는 파랑이다 — 8절의 휨이 그라데이션에서 드러난 것. ③ 흑→백: 선형 보간은 밝은 쪽에 몰려 최대/평균 비가 크다(L* 중간점 76). Lab은 정의상 L*이 고르게 변한다. OKLab은 아주 어두운 쪽 몇 단계의 ΔE00가 작아 비가 커지는데, OKLab 명도에 선형 구간이 없기 때문이다.
보간 공간 고르기

물리적 빛의 혼합(블러, 리샘플링, 알파 합성, 조명 계산)은 선형 RGB가 맞다 — 빛은 선형으로 더해진다. 사람이 보기에 고르게 변해야 하는 UI 그라데이션, 팔레트, 데이터 시각화 색 척도는 OKLab(채도가 중간에 줄어도 되는 경우) 또는 OKLCh(채도를 유지하고 싶을 때, 가멋 밖 클리핑 주의)가 무난하다. 감마 인코딩된 sRGB 값을 그대로 섞는 것은 어느 쪽에도 맞지 않으며, 역사적 관성일 뿐이다.

OKLab의 한계도 분명하다. D65·sRGB 계열 디스플레이를 전제로 백색이 고정되어 있어 다른 광원 아래의 표면색에는 먼저 색순응 변환이 필요하고, 명도 L에 선형 구간이 없어 아주 어두운 영역의 거동이 L*과 다르며, 산업 색차 판정의 표준 지표도 아니다. 합격 판정은 CIEDE2000, 지각 연구·HDR은 CAM16-UCS나 ICtCp/Jzazbz(14장)를 쓴다.

색 입체: sRGB 가멋을 Lab 공간에 세우기

RGB 큐브는 RGB 좌표에서는 정육면체지만, 균등 색공간에서 보면 크게 일그러진 입체다. 이 입체의 모양이 "그 장치가 어떤 색을 낼 수 있는가"를 지각 단위로 보여 준다. 예를 들어 sRGB의 최대 채도 C*ab는 청 133.8, 녹 119.8, 자홍 115.5, 적 104.6, 황 96.9, 청록 50.1로, 청록 방향이 유난히 얕다.

3D

sRGB 가멋 입체 (CIELAB / OKLab)

좌표 공간

세로축 = 명도(L* 또는 L), 가로 평면 = a, b. OKLab은 a, b를 L과 비슷한 크기로 보이도록 배율을 맞췄다(비교용).

적 #FF0000—
녹 #00FF00—
청 #0000FF—
황 #FFFF00—
해볼 것: ① CIELAB에서 청 꼭짓점이 낮은 명도에서 멀리 튀어나온 뾰족한 모양을 보라. 청과 백을 잇는 큐브 모서리가 Lab에서는 직선이 아니라 휘어 있다(그래서 Lab 직선 보간 청→백은 가멋 밖으로 나간다). ② OKLab으로 바꾸면 청 꼭짓점의 방향이 바뀌고 입체가 더 고르게 둥글어진다. ③ P3 모서리를 켜면 P3가 sRGB보다 주로 녹·적 방향으로 넓다는 것이 보인다(5장).

가멋 매핑 알고리즘이 이 입체의 "표면"을 다룬다. 가멋 밖 색을 명도와 색상을 유지한 채 채도만 줄여 표면에 붙이는 것이 가장 흔한 전략인데, 앞 절에서 봤듯 "색상 유지"를 CIELAB으로 하면 청색이 보라로 틀어지므로 최근 구현(예: CSS Color 4의 가멋 매핑 알고리즘)은 OKLCh에서 채도를 줄인다.

핵심 정리

  1. XYZ·xy는 등색 공간이지 거리 공간이 아니다. 같은 ΔE00 = 1 경계가 xy에서 면적으로 약 30배, u′v′에서도 약 11배 크기가 다르다.
  2. CIELAB: L* = 116f(Y/Yn) − 16, a* = 500[f(X/Xn) − f(Y/Yn)], b* = 200[f(Y/Yn) − f(Z/Zn)], f는 ε = 216/24389 위에서 세제곱근, 아래에서 (κt+16)/116 (κ = 24389/27). 기준 백색에 대한 상대값이며 D50/D65 Lab을 섞으면 안 된다.
  3. LCh는 a*b*의 극좌표다. ΔH*는 각도 차가 아니라 색상 방향 거리 2√(C₁C₂)·sin(Δh/2)이다. CIELUV는 u′v′와 연결되어 가산 혼합 직선을 유지하지만 백색 정규화가 뺄셈이다.
  4. ΔE*ab는 고채도 색의 차이를 과대평가하고 회색 근처를 과소평가한다. CMC와 CIE94는 채도에 비례하는 SC, SH로 보정하며, 기준색에 의존하는 비대칭 식이다.
  5. CIEDE2000 = CIE94 구조 + G(무채색 근처 a* 확대) + SL(L* 50 중심 V자) + T(h)(색상별 허용 폭) + RT(청색 영역 회전 교차항). Sharma 시험 쌍 1번의 ΔE00 = 2.0425로 구현을 검증한다.
  6. ΔE*ab = 5인 쌍들의 ΔE00는 1.05–5.75로 흩어진다. 산업 파라미터 kL(섬유 2)은 관측 조건 차이를 반영한다.
  7. 허용치는 업계·계약마다 다르다(JND ≈ ΔE00 1 근방). ΔE 하나로 판정하지 말고 ΔL′·ΔC′·ΔH′ 성분, 최대값/백분위, 측정 조건, 식 이름을 함께 보고한다.
  8. CIELAB은 청색에서 일정 색상선이 휜다(sRGB 청의 채도를 줄이면 OKLab 색상각이 264° → 약 290°). OKLab은 원추 유사 공간에서 압축해 이를 줄이며, 그라데이션·팔레트·CSS 색 보간에 적합하다. 빛의 물리적 혼합은 선형 RGB에서 한다.

확인 퀴즈

CIELAB의 f(t)에서 t ≤ 216/24389 구간을 직선으로 바꾼 주된 이유는?

세제곱근의 도함수는 t → 0에서 발산한다. 선형 구간(κt+16)/116은 경계 ε에서 값과 기울기가 세제곱근과 연속이 되도록 정한 것이고, 그래서 ε=(6/29)³, κ=24389/27이라는 유리수가 나온다.

같은 시료를 D50 기준 Lab과 D65 기준 Lab으로 각각 계산했다. 옳은 설명은?

Lab은 기준 백색으로 나눈 상대값이다. Y는 같아도 Xn, Zn이 달라 a*, b*가 바뀐다. 백색을 바꾸려면 XYZ에서 색순응 변환을 한 뒤 다시 계산한다.

고채도 적색(C* ≈ 80)에서 채도 방향으로 ΔE*ab = 5 떨어진 색의 ΔE00는 대략?

S_C = 1 + 0.045·C̄′ ≈ 4.7이므로 채도 성분이 약 1/4.7로 줄어든다. 본문 표의 계산값은 1.05다.

CIEDE2000의 회전항 R_T가 주로 작용하는 영역과 효과는?

Δθ = 30°·exp(−((h̄′−275°)/25°)²)이고 R_C는 채도가 클수록 2에 가까워진다. 교차항 R_T·(ΔC′/S_C)(ΔH′/S_H)의 부호가 이동 방향에 따라 바뀌어 타원이 기운다.

CIE94로 기준 A와 시료 B의 색차를 구했다. A와 B를 바꿔 계산하면?

CIE94와 CMC는 기준색의 C*로 가중하므로 비대칭이다. CIEDE2000은 두 색의 평균을 써서 대칭이다.

섬유 산업에서 CIEDE2000을 k_L = 2로 쓰는 의미는?

ΔL′/(k_L S_L)에서 k_L = 2면 명도 성분이 절반이 된다. k 계수는 관측 조건 보정용 산업 파라미터다.

두 시료가 기준에서 모두 ΔE00 = 1.5다. 공정 조정에 가장 필요한 추가 정보는?

ΔE는 크기만 말한다. 더 밝은지, 더 탁한지, 색상이 어느 쪽으로 돌았는지에 따라 조치가 다르다.

sRGB 청 #0000FF에서 CIELAB의 L*과 h_ab를 고정하고 C*만 줄이면 어떻게 보이는가?

CIELAB의 청색 영역 색상 비직선성이다. OKLab 색상각으로 재면 264°에서 채도 50%일 때 약 290°로 돈다. 그래서 가멋 매핑과 그라데이션에 OKLCh를 많이 쓴다.