감마 보정
1. 베버의 법칙(Weber's law)
베버의 법칙(Weber’s law)
인간의 감각은 자극이 커질수록 느끼는 세기는 감소한다. 이를 베버의 법칙이라고 한다.
베버의 법칙에 따라 인간의 시각은 빛(밝기)에 대해 비선형적으로 반응한다.
예를 들어, 밤에는 약간의 빛만 있어도 물체를 구분할 수 있지만, 낮처럼 밝은 상황에서는 약간의 빛이 추가되어도 인간이 잘 느끼지 못한다. 최근 들어, LCD 보다 Black을 더 잘 표현하는 OLED가 인기인 이유이다.
2. 감마 보정
감마 보정의 목적
인간의 시각은 밝기에 대해 비선형적으로 반응한다. 이러한 비선형성은 자연 그대로에서는 문제가 없지만, 디지털로 변환할 때 문제가 발생한다.
예를 들어, 8bit bit depth 안에서 선형적으로 빛의 밝기를 양자화하면 인간의 눈이 민감하게 반응하는 어두운 부분에서 층이 생기는 밴딩 현상이 발생한다.
8bit bit depth라는 제한된 공간 안에서 어두운 부분에 더 많은 비트를 할당하여 밴딩 현상을 줄일 수 있다.
결국, 밴딩 현상을 막기 위해 주어진 bit depth 한계 안에서 데이터를 비선형적으로 압축하는 것이 감마 보정(Gamma Correction)이다. 다른 말로 감마 인코딩(Gamma Encoding)이라고도 한다.
감마 보정 없이 선형적으로 데이터를 저장하기 위해서는 11bit 이상이 필요하지만, 감마 보정을 사용하면 8bit로도 가능하다.
위 그림에서 감마 보정 후에는 어두운 부분의 밴딩 현상이 사라진 것을 확인할 수 있다.
혹자는 디스플레이가 아래로 볼록한 감마 곡선을 가진다는 이유로 감마 보정을 한다고도 하지만, 이는 주목적이 아니다.
이미지 포맷
- 감마 보정이 적용된 이미지 포맷
- PNG, JPEG, GIF 등
- 감마 보정이 적용도지 않은 이미지 포맷
- RAW, BMP 등
3. 감마 Decoding
감마 Decoding
Encoding 과정이 있다면 Decoding 과정도 있기 마련이다. Encoded 감마를 Decoding하는 과정을 감마 Decoding 또는 감마라고 한다. 감마 Encoding과 감마 Decoding은 역함수의 관계에 있다.
디스플레이는 자신에게 들어온 디지털 신호가 이미 Encoding된 데이터라고 생각하고 Decoding하여 처리한다.
최종적으로 디스플레이에서 감마가 Decoding된 이미지를 출력하고, 우리는 원본 이미지와 유사한 감마 1.0의 이미지를 볼 수 있게 된다.
4. sRGB(Standard RGB)
sRGB(Standard RGB)
1996년 MS와 HP에 의해 개발된 색상 표준 색 공간이다.
sRGB는 빨강, 초록, 파랑의 세 가지 기본 색을 조합해 색을 표현하는 색 공간으로 대부분의 모니터, 카메라 등이 이 표준을 따르기 때문에 일관성 있는 색상 표현이 가능하다.
sRGB는 감마 값 2.2를 채택했으며, 이는 디스플레이 장치들이 감마 2.2를 기준으로 색을 표현하도록 설계된 이유이다.
결과적으로, 감마 보정은 1/2.2로 계산하고 감마는 2.2로 계산한다.
JPEG, PNG, GIF 등 웹 이미지 형식에서 표준으로 채택되어, 별도의 색상 보정 없이 디스플레이에서 원본과 유사한 색상표현이 가능하다.
'Algorithm > Image Processing' 카테고리의 다른 글
Anti Aliasing이란? (0) | 2024.11.12 |
---|---|
Run Length Encoding(RLE)이란? (0) | 2024.11.05 |
[Image Processing] 1. Python으로 Dither 만들기: Floyd Steinberg Dithering (0) | 2023.11.15 |
[Image Processing] 1. Python으로 Dither 만들기: Truncation, Round (1) | 2023.11.13 |
Error Diffusion이란? (0) | 2023.01.08 |
댓글