'이 이미지는 전반적으로 색상이 왜 이렇게 진한 거예요? 제가 실제로 본 이미지는 이렇게 안 진했거든요.'
나의 지난 프로젝트에서 실제로 들었던 이와 같은 이야기는 디지털 색상 표현의 근본적인 문제를 보여준다. 실제로 여러 의류 판매 브랜드에서는 반품률이 오프라인의 경우보다 높은데, 색상이 일치하지 않는다는 것이 많은 비율을 차지하고 있다고 한다.
더 흥미로운 건, 요즘의 휴대폰 카메라가 포착할 수 있는 10억 개 이상의 색상 중 대부분의 모니터는 1,670만 색상만을 표현할 수 있다는 점이다. 물론 지금 표현할 수 있는 색상도 절대적으로 적은 것은 아니지만, 아날로그를 디지털화 하는 과정에서 발생하는 기술적 한계는 우리가 보는 디지털 이미지의 정확성에 근본적인 의문을 제기한다.
이번 글에서는 이러한 색상 불일치의 핵심 원인인 `ICC Profile`과 `Color Gamut`에 대해 자세히 살펴보고자 한다.
ICC Profile
ICC Profile이란 International Color Consortium Profile의 약어로, 색상을 정확하게 표현하고 관리하기 위한 표준화된 데이터 형식을 말한다. ICC Profile이 등장한 이후에도 여전히 모니터 간 색상을 표현하는 방식이 다르다. 그런데 색상을 표현해야 하는 그 대상이 모니터 뿐만이 아니다. 프린터, 스캐너, 카메라 등등 여러가지 장비에 걸쳐 적용된다.
모니터에도 적용이 된다면 우리가 각자 가지고 있는 모니터에서도 조회해볼 수 있다.
MacOS의 경우, 아래의 캡처 이미지와 같이 Settings > Color Profile 메뉴에서 확인할 수 있다.
보이는 것처럼 내가 사용하는 Profile은 P3인 것을 확인할 수 있다.
* 뒤에 붙어있는 1600 nits는 디스플레이의 밝기를 나타내는 단위이다.
P3는 2007년 디지털 영화 프로젝션을 위한 표준으로 개발되었으나 Apple이 iMac에 이 색역을 처음 도입하게되어 소비자 시장에서도 P3가 대중화되면서, 지금은 sRGB와 함께 가장 널리 사용되는 색역 중 하나로 자리매김하게 되었다.
그럼 이렇게 다양한 Color Profile은 무슨 역할을 하는 것일까?
ICC Profile은 색상을 변환해주는 역할이라고 할 수 있다.
예를 들어, 카메라로 찍은 사진을 컴퓨터로 볼 때 사진의 ICC Profile이 "이 빨간색은 RGB(255, 0, 0)으로 찍혔다"고 알려준다.
그럼 컴퓨터는 사진의 ICC Profile을 읽어 "우리 모니터에서 그 빨간색을 표현하려면 RGB(250, 10, 0)으로 보여줘야 한다"고 인식하고 모니터에 적합한 색상으로 변환한다.
이와 같은 일련의 변환 과정을 통해 최대한 원본에 가까운 색상을 표현하게 되는 것이다.
그럼 이런 장비 간 색상의 표현 차이는 어디에서 어떻게 발생하는 것일까?
색역 (Color Gamut)
이와 같이 디지털 기기 간 발생하는 색상의 차이는 색역(Color Gamut)으로 인해 발생하게 된다. 색역이라는 것은 특정 장치가 표현할 수 있는 모든 색상의 범위를 의미하는데, 주로 아래의 그림과 같은 CIE 색도도(CIE Chromaticity Diagram) 위에 각 Color Profile 별로 삼각형이나 다각형 형태로 표현한다.
위의 그림은 2차원 공간으로 보이지만, 사실 3차원으로 이해해야 한다. 보통 색(Color)을 표현할 때에는 세가지 속성을 통해 설명하곤 한다. 사진이나 이미지에 관심이 많다면 알고 있겠지만, 바로 색상(Hue), 채도(Saturation), 명도(Brightness)이다.
* 색상(Hue)은 빨강, 파랑, 녹색과 같은 서로 구별되는 고유의 특성을 말한다.
이 세가지 속성으로 구성된 것이 하나의 색(Color)를 의미하기 때문에 색의 집합인 색역은 3차원 그래프로 표현이 되어야 하지만, 직관적인 이해를 돕기 위해 명도를 제외한 차원의 그래프로 주로 설명된다.
위의 그래프를 자세히 들여다보면 sRGB의 삼각형과 AdobeRGB의 삼각형의 크기가 다른 것을 확인할 수 있다. 삼각형의 크기가 클수록 표현할 수 있는 색상의 범위가 넓어진다.
예를 들어, 어떤 모니터는 AdobeRGB 색상을 지원하고, 또 다른 어떤 모니터는 sRGB만 지원한다고 해보자. 전자의 모니터에서 색상(Color) 작업을 한 후, 후자의 모니터에서 확인하게 되면 색상의 손실이 일어나게 되면서 원래 의도한 색상을 전부 보지 못하게 되는 경우가 발생하는 것이다.
같은 원리로 일반 컴퓨터에서 작업한 인쇄물을 프린터를 통해 인쇄하는 경우 색상의 손실이 발생한다. 우리가 색상을 표현할 때에는 RGB 방식으로 작업을 하는데, 프린터기는 CMYK의 잉크로 색상을 만들기 때문에 RGB로 표현하는 색상보다 그 범위가 좁다.
* 그래서 대부분의 인쇄소에서는 CMYK 모델의 컬러를 요구하게 되는 것이다...
나가며
이번 글을 통해 ICC Profile과 색역(Color Gamut)이 디지털 환경에서 색상을 정확하게 표현하기 위한 핵심 요소라는 것을 알게 되었다. 이미지가 가진 고유한 ICC Profile은 각 장치의 Color Profile로 변환되는 과정에서 색역의 차이로 인해 불가피한 색상 손실이 발생할 수 있다.
디자이너들은 보통 넓은 색역을 지원하는 모니터를 사용하지만, 개발자들은 상대적으로 디스플레이의 색역을 크게 고려하지 않는 경향이 있다. 하지만 다행스럽게도 많은 개발자들이 사용하는 MacBook은 비교적 넓은 색역을 지원하기 때문에 정확한 색상 표현이 가능하다.
이때, 우리에게 결국 중요한 것은 단순히 하나의 장비에서 보이는 색상을 있는 그대로 신뢰하는 것이 아니라, 작업하는 이미지의 색상이 다양한 환경에서 어떻게 표현될 수 있는지 이해하고 이에 맞춰 작업하는 것이 될 것이다.
References
- https://en.wikipedia.org/wiki/DCI-P3
- https://www.benq.com/en-us/knowledge-center/knowledge/color-gamut-monitor.html
'개발' 카테고리의 다른 글
여러가지 cheatsheet (0) | 2024.10.23 |
---|