균등 색공간과 색차
XYZ는 두 색이 같은지는 정확히 말해 주지만, 두 색이 얼마나 다른지는 말해 주지 못한다. 인쇄 교정, 디스플레이 캘리브레이션, 도장 패널 매칭, 카메라 색 보정의 목적 함수는 모두 "색 차이를 숫자 하나로" 요구한다. 이 장은 거리가 지각 차이에 비례하도록 XYZ를 비선형으로 펴는 방법(CIELAB, CIELUV, OKLab)과, 그래도 남는 불균등을 가중치로 보정하는 색차식(ΔE76 → CIE94 → CIEDE2000)을 수식과 실제 숫자로 다룬다.
- XYZ·xy 공간의 거리가 지각 차이와 맞지 않는다는 것을 계산된 등색차 타원으로 확인한다.
- CIELAB의 정의식(f 함수, ε=216/24389, κ=24389/27)과 기준 백색 의존성, LCh 극좌표, CIELUV와의 차이를 설명한다.
- ΔE*ab, CIE94, CMC l:c, CIEDE2000의 각 항(SL, SC, SH, G, T, RT)이 무엇을 보정하는지 수식으로 이해하고 직접 계산한다.
- 업계 허용 오차의 대략적 범위와, ΔE 하나로 합격을 판정할 때의 함정을 안다.
- CIELAB의 청색 색상 휨과 OKLab의 동기를 이해하고, 그라데이션 보간 공간을 근거 있게 고른다.
목표: 공간의 거리 = 지각 차이
3장의 XYZ는 등색(color matching)을 위한 좌표다. 두 자극의 XYZ가 같으면 (표준 관측자에게) 같아 보인다는 것만 보장한다. 그러나 XYZ 공간에서 두 점 사이의 유클리드 거리 \( \lVert \Delta XYZ \rVert \)는 지각된 차이와 거의 관계가 없다. 같은 \( \Delta Y = 1 \)이라도 어두운 회색에서는 뚜렷하고 밝은 회색에서는 보이지 않는다(베버–페히너 경향). 색도에서도 마찬가지다. 4장의 맥아담 타원(MacAdam ellipses)은 xy 색도도에서 "구별 못 하는 범위"가 녹색 영역에서는 크고 청색·백색 근처에서는 작으며, 모양도 원이 아니라 길쭉한 타원이라는 것을 보여 준다.
공학적으로 우리가 원하는 것은 변환 \( \Phi:\ XYZ \to \mathbb{R}^3 \)로, 변환된 공간의 거리가 지각 차이에 비례하는 것이다. 작은 차이에 대해 이 요구를 쓰면 다음과 같다.
그림 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^* \)는 0(흑)–100(기준 백색)의 명도(lightness)다. \( a^* \)는 +이면 적(마젠타 쪽), −이면 녹, \( b^* \)는 +이면 황, −이면 청이다. 계수 500과 200은 세 축의 단위 차이가 대략 비슷한 지각 크기가 되도록 정한 값이다. \( a^* \), \( b^* \)에는 이론적 상하한이 없고, 실제 표면색은 대략 ±100, sRGB 원색 청은 \( b^* = -107.9 \)까지 간다.
기준 백색 의존성. 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장).
Lab / LCh 탐색기와 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* 평면을 극좌표로 쓰면 사람의 언어("더 밝게, 더 선명하게, 더 노랗게")에 대응하는 세 속성이 된다.
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′ 색도 좌표의 차이로 만든다.
CIELUV는 u′v′ 색도도와 직접 연결되어 있으므로 가산 혼합이 색도도에서 직선이라는 성질(4장)을 그대로 쓸 수 있다. 그래서 디스플레이·조명 분야에서 백색점 편차를 Δu′v′로 말하는 관행과 잘 맞는다. 반면 백색 정규화가 나눗셈이 아닌 뺄셈(평행 이동)이라서 광원이 바뀔 때의 거동은 CIELAB의 von Kries 유사 나눗셈보다 더 나쁘고, 이 때문에 표면색(인쇄, 도장, 섬유)의 색차 평가는 CIELAB으로 굳어졌다.
| 항목 | CIELAB | CIELUV | OKLab |
|---|---|---|---|
| 발표 | 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에서의 유클리드 거리다.
계산이 쉽고 지금도 사양서에 많이 남아 있지만, CIELAB 자체의 불균등이 그대로 드러난다. 가장 큰 문제는 채도가 높을수록 같은 ΔE*ab가 덜 보인다는 것이다. 고채도 색의 허용 타원은 채도 방향으로 길게 늘어나므로, ΔE*ab는 선명한 색의 차이를 과대평가하고 회색 근처의 차이를 과소평가한다. 정지 문턱(JND)으로 흔히 인용되는 "ΔE*ab ≈ 2.3"(Mahy 등, 1994)도 색 영역에 따라 크게 달라지는 평균값일 뿐이다.
CMC l:c (1984). 영국 염색가협회(SDC)의 색 측정 위원회가 섬유 합격 판정 데이터로 만든 식으로, 성분별 척도를 기준색의 명도·채도·색상각의 함수로 둔다.
CIE94 (CIE 116-1995). CMC의 복잡한 함수를 단순한 선형 가중으로 줄인 식이다.
| 식 | 용도 | kL (또는 l) | K₁ | K₂ | 비고 |
|---|---|---|---|---|---|
| CIE94 | 그래픽 아트 | 1 | 0.045 | 0.015 | 기준색 채도로 가중 → 비대칭 |
| CIE94 | 섬유 | 2 | 0.048 | 0.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^*) \)이다.
① a* 축 재척도 (G). 무채색 근처에서는 a* 방향 차이가 ΔE*ab가 예측하는 것보다 더 잘 보인다. 그래서 두 색의 평균 채도 \( \bar C^* \)가 작을 때 a*를 최대 1.5배 늘린다.
차이와 평균. 이후 모든 계산은 수정된 \( a' \)로 한다.
② 명도 가중 SL. 중간 회색(L* = 50) 배경에서 관측한 데이터에 맞춰, 명도 차이는 L* = 50 근처에서 가장 민감하고 아주 밝거나 어두운 쪽에서 둔하다(V자 곡선).
③④ 채도·색상 가중 SC, SH와 색상 함수 T.
⑤ 회전항 RT. 청색 영역에서는 허용 타원의 장축이 채도 방향에서 기울어 있다. 이는 대각 가중만으로는 표현할 수 없으므로 채도·색상 성분의 교차항을 넣는다.
두 색 비교기: ΔE76 / 94 / CMC / 2000과 항별 분해
실제 수치 예(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이 얼마나 불균등한가"의 지도다.
a*b* 평면의 ΔE00 = k 등고선 (ΔE76 원과 비교)
단면을 클릭하면 그 위치를 선택 중심으로 삼는다.
아래 표는 모두 CIELAB 거리 ΔE*ab ≈ 5인 색 쌍이다(좌표는 소수 첫째 자리로 반올림한 값으로 다시 계산했다). 같은 "5"가 CIEDE2000에서는 1.05부터 5.75까지 5배 이상 흩어진다.
| 영역 · 차이 방향 | 색 1 (L*, a*, b*) | 색 2 | ΔE*ab | ΔE94 | CMC 2:1 | ΔE00 |
|---|---|---|---|---|---|---|
| 무채색 · 명도 (L* 50) | 50, 0, 0 | 55, 0, 0 | 5.00 | 5.00 | 2.30 | 4.91 |
| 무채색 · 명도 (L* 90) | 90, 0, 0 | 95, 0, 0 | 5.00 | 5.00 | 1.75 | 3.06 |
| 무채색 → 약한 채도 | 50, 0, 0 | 50, 3, 4 | 5.00 | 5.00 | 7.84 | 5.30 |
| 회색 근처 · a* 방향 | 50, 2, 0 | 50, 7, 0 | 5.00 | 4.59 | 6.56 | 5.75 |
| 고채도 적 · 채도 방향 | 50, 61.3, 51.4 | 50, 65.1, 54.6 | 4.97 | 1.08 | 1.59 | 1.05 |
| 고채도 적 · 색상 방향 | 50, 61.3, 51.4 | 50, 58.0, 55.2 | 5.03 | 2.29 | 3.47 | 2.74 |
| 고채도 황 · 색상 방향 | 85, 0, 80 | 85, −5, 79.8 | 5.00 | 2.27 | 2.71 | 2.85 |
| 청 (h 290°) · 채도 방향 | 30, 23.9, −65.8 | 30, 25.7, −70.5 | 5.03 | 1.21 | 1.70 | 1.14 |
| 청 (h 290°) · 색상 방향 | 30, 23.9, −65.8 | 30, 28.6, −63.9 | 5.07 | 2.47 | 2.91 | 3.66 |
| 청 (h 275°) · 채도↑ + 색상 ⟲ | 40, 4.4, −49.8 | 40, 8.2, −53.0 | 4.97 | 2.23 | 2.67 | 1.57 |
| 청 (h 275°) · 채도↑ + 색상 ⟳ | 40, 4.4, −49.8 | 40, 1.1, −53.6 | 5.03 | 2.29 | 2.73 | 3.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 – 3 | ISO 12647-2가 오프셋 인쇄의 ΔE 허용차를 규정 |
| 자동차 외장 도장 (인접 패널) | ΔE00, 다각도 측정 | ≈ 0.5 – 1 (각도별) | 메탈릭·펄은 관측 각도마다 따로 판정 |
| 섬유 염색 합격 | CMC(2:1), ΔE00(2:1:1) | ≈ 1 | ISO 105-J03 (CMC) |
| 플라스틱·일반 소비재 | ΔE*ab, ΔE00 | ≈ 1 – 2 | 광원별(D65, A, F) 메타머리즘 확인 병행 |
① 방향성: 공정 조정에는 "얼마나"보다 "어느 쪽으로"가 필요하다. Δ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° 그대로 줄이면 색이 보라로 보인다.
색상 휨 비교 띠: CIELAB vs OKLab
두 곡선은 서로를 기준으로 잰 것이므로, 어느 쪽이 맞는지는 시각 비교와 일정 색상 실험 데이터(Hung–Berns, Ebner–Fairchild)로 판단한다. 그 데이터에 맞춘 IPT와 이를 이어받은 OKLab에서는 청색 선이 거의 곧다. 실무 결과는 분명하다: CIELAB/LCh에서 채도를 깎는 가멋 매핑이나 팔레트 생성은 청색을 보라로 틀어 버린다(5장의 가멋 매핑, 18장의 팔레트 설계).
OKLab과 색 보간
OKLab은 Björn Ottosson이 2020년에 발표한 공간으로, 목표가 분명하다: ① 명도와 채도 예측은 CAM16-UCS에 가깝게, ② 색상 균일성은 IPT처럼(청색 휨 없이), ③ 계산은 행렬 두 번과 세제곱근 한 번으로 단순하고 정확히 역변환 가능하게. 색 외관 모델의 관측 조건 파라미터(주변 휘도, 순응 정도)는 없다 — 그것이 필요하면 CAM16-UCS(9장)를 쓴다.
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, …)처럼 보간 공간을 지정하는 문법도 표준화되어, 웹에서 "어느 공간에서 섞을지"를 명시적으로 고를 수 있다.
그라데이션 보간 공간 비교
각 띠 아래의 빨간 눈금은 보간 결과가 sRGB 가멋 밖이라 클리핑된 구간이다. 오른쪽 숫자는 33개 샘플 사이 ΔE00의 합과 최대/평균 비(1에 가까울수록 지각적으로 고르게 변함)다.
물리적 빛의 혼합(블러, 리샘플링, 알파 합성, 조명 계산)은 선형 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로, 청록 방향이 유난히 얕다.
sRGB 가멋 입체 (CIELAB / OKLab)
세로축 = 명도(L* 또는 L), 가로 평면 = a, b. OKLab은 a, b를 L과 비슷한 크기로 보이도록 배율을 맞췄다(비교용).
가멋 매핑 알고리즘이 이 입체의 "표면"을 다룬다. 가멋 밖 색을 명도와 색상을 유지한 채 채도만 줄여 표면에 붙이는 것이 가장 흔한 전략인데, 앞 절에서 봤듯 "색상 유지"를 CIELAB으로 하면 청색이 보라로 틀어지므로 최근 구현(예: CSS Color 4의 가멋 매핑 알고리즘)은 OKLCh에서 채도를 줄인다.
핵심 정리
- XYZ·xy는 등색 공간이지 거리 공간이 아니다. 같은 ΔE00 = 1 경계가 xy에서 면적으로 약 30배, u′v′에서도 약 11배 크기가 다르다.
- 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을 섞으면 안 된다.
- LCh는 a*b*의 극좌표다. ΔH*는 각도 차가 아니라 색상 방향 거리 2√(C₁C₂)·sin(Δh/2)이다. CIELUV는 u′v′와 연결되어 가산 혼합 직선을 유지하지만 백색 정규화가 뺄셈이다.
- ΔE*ab는 고채도 색의 차이를 과대평가하고 회색 근처를 과소평가한다. CMC와 CIE94는 채도에 비례하는 SC, SH로 보정하며, 기준색에 의존하는 비대칭 식이다.
- CIEDE2000 = CIE94 구조 + G(무채색 근처 a* 확대) + SL(L* 50 중심 V자) + T(h)(색상별 허용 폭) + RT(청색 영역 회전 교차항). Sharma 시험 쌍 1번의 ΔE00 = 2.0425로 구현을 검증한다.
- ΔE*ab = 5인 쌍들의 ΔE00는 1.05–5.75로 흩어진다. 산업 파라미터 kL(섬유 2)은 관측 조건 차이를 반영한다.
- 허용치는 업계·계약마다 다르다(JND ≈ ΔE00 1 근방). ΔE 하나로 판정하지 말고 ΔL′·ΔC′·ΔH′ 성분, 최대값/백분위, 측정 조건, 식 이름을 함께 보고한다.
- CIELAB은 청색에서 일정 색상선이 휜다(sRGB 청의 채도를 줄이면 OKLab 색상각이 264° → 약 290°). OKLab은 원추 유사 공간에서 압축해 이를 줄이며, 그라데이션·팔레트·CSS 색 보간에 적합하다. 빛의 물리적 혼합은 선형 RGB에서 한다.
확인 퀴즈
CIELAB의 f(t)에서 t ≤ 216/24389 구간을 직선으로 바꾼 주된 이유는?
같은 시료를 D50 기준 Lab과 D65 기준 Lab으로 각각 계산했다. 옳은 설명은?
고채도 적색(C* ≈ 80)에서 채도 방향으로 ΔE*ab = 5 떨어진 색의 ΔE00는 대략?
CIEDE2000의 회전항 R_T가 주로 작용하는 영역과 효과는?
CIE94로 기준 A와 시료 B의 색차를 구했다. A와 B를 바꿔 계산하면?
섬유 산업에서 CIEDE2000을 k_L = 2로 쓰는 의미는?
두 시료가 기준에서 모두 ΔE00 = 1.5다. 공정 조정에 가장 필요한 추가 정보는?
sRGB 청 #0000FF에서 CIELAB의 L*과 h_ab를 고정하고 C*만 줄이면 어떻게 보이는가?