색 깊이

**색 깊이**(, colour depth), **컬러 심도**, **색심도**, **컬러 깊이**, **비트 깊이**(bit depth)는 비트맵 이미지나 비디오 프레임 버퍼에서 하나의 화소의 색을 지시하기 위해 사용되는 비트 수 또는 하나의 픽셀의 각 색요소를 위해 사용되는 비트 수를 말한다. 고효율 비디오 코딩 (H.265)와 같은 소비자 비디오 표준에서 비트 깊이는 각 색 요소에 쓰이는 비트 수를 규정한다. 화소를 가리킬 때 이 개념은 **화소 당 비트**(bits per pixel, bpp)로 정의할 수 있으며 이는 사용되는 비트의 수를 규정한다. 색요소를 가리킬 때 이 개념은 **요소 당 비트**(bits per component), **채널 당 비트**(bits per channel), **색 당 비트**(bits per color)로 정의할 수 있으며 이 셋 모두 bpc로 줄여 이야기하며 그 외에 **화소 요소 당 비트**(bits per pixel component), **색 채널 당 비트**(bits per color channel), **샘플 당 비트**(bits per sample, bps)로 정의할 수 있다.

색 깊이는 색 표현의 한 가지 측면일 뿐이며 색 단계를 얼마나 세밀하게 표현할 수 있는지를 이야기한다. (예를 들어 색 정확도.) 다른 개념은 얼마나 색 범위를 표현할 수 있는가이다(색역). 색 정확도와 색역 정의 모두 색 인코딩 사양과 함께하며 디지털 코드값을 색 공간의 한 위치로 할당한다.

색상 채널에서 분해된 강도의 비트 수는 특히 위성 이미지의 맥락에서 방사 분해능이라고도 한다.

## 비교

파일:24 bit.png|16,777,216색98 KB
파일:8 bit.png|256색37 KB (-62%)
파일:4 bit.png|16색13 KB (-87%)
파일:2 bit.png|4색6 KB (-94%)
파일:1 bit.png|2색4 KB (-96%)


## 인덱스 컬러

상대적으로 낮은 색 깊이에서는 저장된 값이 일반적으로 색상 맵 또는 팔레트 (일종의 벡터 양자화)의 인덱스를 나타내는 숫자이다. 팔레트에서 사용할 수 있는 색상은 하드웨어에 의해 고정되거나 소프트웨어에 의해 수정될 수 있다. 수정 가능한 팔레트를 때로는 **[[가색상|의사색상]]** 팔레트라고도 한다.

오래된 그래픽 칩, 특히 가정용 컴퓨터 및 비디오 게임 콘솔에 사용된 칩은 당시 비쌌던 메모리(및 대역폭) 사용을 최소화하면서 동시에 표시되는 색상의 최대 수를 늘리기 위해 스프라이트 및 타일별로 다른 팔레트를 사용할 수 있는 기능을 가지고 있었다. 예를 들어, ZX 스펙트럼에서는 그림이 2색 형식으로 저장되지만, 이 두 색상은 8x8 픽셀의 각 직사각형 블록에 대해 별도로 정의될 수 있다.

팔레트 자체는 색 깊이(항목당 비트 수)를 가지고 있다. 최고의 VGA 시스템은 18비트(262,144색) 팔레트만 제공했지만 여기에서 색상을 선택할 수 있었고, 모든 컬러 매킨토시 비디오 하드웨어는 24비트(1600만 색상) 팔레트를 제공했다. 24비트 팔레트는 팔레트를 사용하는 모든 최신 하드웨어 또는 파일 형식에서 거의 보편적으로 사용된다.

대신 픽셀 값에서 색상을 직접 파악할 수 있는 경우, 이는 "직접 색상"이다. 팔레트는 픽셀당 12비트보다 큰 깊이에서는 거의 사용되지 않았다. 팔레트가 소비하는 메모리가 모든 픽셀에서 직접 색상에 필요한 메모리를 초과하기 때문이다.

## 일반적인 깊이 목록

### 1비트 컬러

2가지 색상으로, 주로 검정과 하양의 직접 색상이다. 때로는 1이 검정, 0이 하양을 의미했는데, 이는 현대 표준과는 반대이다. 초기 그래픽 디스플레이의 대부분이 이 유형이었으며, X 윈도 시스템은 이러한 디스플레이를 위해 개발되었고, 이는 3M 컴퓨터에도 적용되었다. 1980년대 후반에는 최대 300dpi(현대 레이저 프린터와 동일) 해상도의 전문가용 디스플레이가 있었지만, 컬러가 더 인기를 끌었다.

### 2비트 컬러
4가지 색상으로, 일반적으로 고정된 팔레트에서 선택된다. 초기 넥스트스테이션의 회색조, 컬러 매킨토시, 아타리 ST 중간 해상도 등에서 사용되었다.

### 3비트 컬러
8가지 색상으로, 거의 항상 완전한 강도의 빨강, 녹색, 파랑의 모든 조합이다. ZX 스펙트럼 및 BBC 마이크로를 포함한 TV 디스플레이를 갖춘 많은 초기 가정용 컴퓨터에서 사용되었다.

### 4비트 컬러
16가지 색상으로, 일반적으로 고정된 팔레트에서 선택된다. IBM CGA (최저 해상도), EGA, 그리고 더 높은 해상도에서는 최소 공통 분모 VGA 표준에서 사용되었다. 컬러 매킨토시, 아타리 ST 저해상도, 코모도어 64, 그리고 암스트래드 CPC 또한 4비트 컬러를 지원했다.

### 5비트 컬러
프로그래밍 가능한 팔레트에서 32가지 색상. 오리지널 아미가 칩셋에서 사용되었다.

### 6비트 컬러
64가지 색상. 세가 마스터 시스템, 강화 그래픽 어댑터, TRS-80 컬러 컴퓨터 3의 GIME, 페블 타임 스마트워치(64색 전자 종이 디스플레이), 그리고 참조 VGA 회로를 사용하는 Parallax Propeller에서 사용되었다.

### 8비트 컬러

256가지 색상으로, 일반적으로 완전히 프로그래밍 가능한 팔레트에서 선택된다. 대부분의 초기 컬러 유닉스 워크스테이션, Super VGA, 컬러 매킨토시, 아타리 TT, 아미가 AGA 칩셋, Falcon030, Acorn Archimedes 등에서 사용되었다. X와 윈도우는 각 프로그램이 자체 팔레트를 선택할 수 있도록 정교한 시스템을 제공했지만, 이는 종종 포커스된 창 외의 다른 창에서 잘못된 색상을 초래했다.

일부 시스템은 직접 색상 시스템을 위해 색상 큐브를 팔레트에 배치했다(그래서 모든 프로그램이 동일한 팔레트를 사용한다). 일반적으로 파란색 구성 요소에 대한 정상적인 인간 눈의 민감도가 빨간색이나 녹색보다 낮기 때문에 파란색 수준이 다른 색상보다 적게 제공되었다.
일반적인 크기는 다음과 같다:
* 6×6×6 (웹 색상), 회색 램프 또는 프로그래밍 가능한 팔레트 항목을 위해 40가지 색상을 남긴다.
* 8×8×4. R과 G에 3비트, B에 2비트가 할당되며, 곱셈을 사용하지 않고도 색상에서 올바른 값을 계산할 수 있다. MSX2 컴퓨터 시리즈 등에서 사용되었다.
* 6×7×6 색상 큐브로, 프로그래밍 가능한 팔레트 또는 회색을 위해 4가지 색상을 남긴다.
* 6×8×5 큐브로, 프로그래밍 가능한 팔레트 또는 회색을 위해 16가지 색상을 남긴다.

### 12비트 컬러
4,096가지 색상으로, 일반적으로 완전히 프로그래밍 가능한 팔레트에서 선택된다(비록 종종 16x16x16 색상 큐브로 설정되었지만). 일부 실리콘 그래픽스 시스템, 컬러 넥스트스테이션 시스템, 그리고 아미가 시스템의 HAM 모드에서 이 색상 깊이를 사용한다.

RGBA4444는 색상 큐브와 16단계의 투명도를 제공하는 관련 16bpp 표현으로, 모바일 그래픽에서 일반적인 텍스처 형식이다.

### 하이컬러 (15/16비트)

하이컬러 시스템에서는 각 픽셀에 2바이트(16비트)가 저장된다. 대부분의 경우, 각 구성 요소(R, G, B)에 5비트가 할당되고, 하나의 사용되지 않는 비트(또는 마스크 채널 또는 인덱스 컬러로 전환하는 데 사용됨)가 추가된다. 이를 통해 32,768가지 색상을 표현할 수 있다. 그러나 사용되지 않는 비트를 G 채널에 재할당하는 대체 할당은 65,536가지 색상을 표현할 수 있지만 투명도는 지원하지 않는다. 이러한 색상 깊이는 휴대폰과 같이 컬러 디스플레이가 있는 소형 장치에서 때때로 사용되며, 사진 이미지를 표시하기에 충분하다고 간주되기도 한다. 때때로 각 색상에 4비트와 알파에 4비트가 사용되어 4,096가지 색상을 제공한다. 이 표준을 사용한 최초의 하드웨어 중 하나는 샤프 X68000과 IBM의 Extended Graphics Array (XGA)였다.

"하이컬러"라는 용어는 최근 24비트 이상의 색상 깊이를 의미하는 데 사용되었다.

### 18비트

가장 저렴한 LCD (일반적인 트위스티드 네마틱 유형)는 더 빠른 색상 전환 시간을 달성하기 위해 18비트 색상 (64×64×64 = 262,144가지 조합)을 제공하며, 24비트 픽셀 트루 컬러를 근사하기 위해 디더링 또는 프레임 레이트 제어를 사용하거나 또는 6비트의 색상 정보를 완전히 버린다. 더 비싼 LCD (일반적으로 IPS)는 24비트 이상의 색상 깊이를 표시할 수 있다.

### 트루 컬러 (24비트)
섬네일|200px|모든 16,777,216가지 색상 (축소됨, 전체 해상도를 보려면 이미지 클릭)
24비트는 거의 항상 각 R, G, B에 8비트(8 bpc)를 사용한다. 2018년 현재, 24비트 색상 깊이는 거의 모든 컴퓨터 및 휴대폰 디스플레이와 대부분의 이미지 저장 형식에서 사용된다. 픽셀당 32비트의 거의 모든 경우에 색상에 24비트가 할당되고, 나머지 8비트는 알파 채널이거나 사용되지 않는다.

224는 16,777,216가지 색상 변형을 제공한다. 인간의 눈은 최대 천만 가지 색상을 구별할 수 있으며, 디스플레이의 색역은 인간 시야의 범위보다 작기 때문에 이는 인지할 수 있는 것보다 더 많은 디테일로 해당 범위를 커버해야 한다는 것을 의미한다. 그러나 디스플레이는 인간 지각 공간에서 색상을 균일하게 분배하지 않으므로, 인간은 일부 인접한 색상 간의 변화를 색 띠로 볼 수 있다. 단색 이미지는 세 채널을 모두 동일한 값으로 설정하여 256가지 색상만 생성한다. 일부 소프트웨어는 이를 늘리기 위해 회색 레벨을 색상 채널로 디더링하려고 시도하지만, 최신 소프트웨어에서는 색상이 약간 다른 위치에 있는 LCD 화면에서 공간 해상도를 높이기 위해 서브픽셀 렌더링에 더 자주 사용된다.

DVD 비디오 및 블루레이 디스크 표준은 4:2:0 크로마 서브샘플링이 적용된 YCbCr에서 색상당 8비트의 비트 깊이를 지원한다. YCbCr은 RGB로 손실 없이 변환될 수 있다.

macOS는 24비트 색상을 "수백만 가지 색상"이라고 부른다. 트루 컬러라는 용어는 때때로 이 문서에서 직접 색상이라고 부르는 것을 의미하는 데 사용된다. 또한 24비트 이상의 모든 색상 깊이를 지칭하는 데 자주 사용된다.

### 딥 컬러 (30비트)
딥 컬러는 10억 개 이상의 색상으로 구성된다. 230은 1,073,741,824이다. 일반적으로 이는 빨강, 녹색, 파랑 각각에 10비트(10 bpc)이다. 동일한 크기의 알파 채널이 추가되면 각 픽셀은 40비트를 차지한다.

일부 초기 시스템은 세 개의 10비트 채널을 32비트 워드에 배치했으며, 2비트는 사용되지 않거나(또는 4단계 알파 채널로 사용됨) 사용되지 않았다. 예를 들어, Cineon 파일 형식은 이를 사용했다. 일부 SGI 시스템은 비디오 신호용으로 10비트(또는 그 이상) 디지털-아날로그 변환회로를 가지고 있었고, 이러한 방식으로 저장된 데이터를 디스플레이용으로 해석하도록 설정할 수 있었다. BMP 파일은 이를 형식 중 하나로 정의하며, 마이크로소프트는 이를 "하이컬러"라고 부른다.

각 구성 요소당 10비트 비디오 카드는 1990년대 후반부터 시장에 나오기 시작했다. 초기 예로는 매킨토시용 Radius ThunderPower 카드가 있었는데, 이는 30비트 이미지 편집을 지원하기 위해 QuickDraw 및 어도비 포토샵 플러그인용 확장 기능을 포함했다. 일부 공급업체는 FRC 패널이 있는 24비트 색상 깊이를 30비트 패널이라고 부르지만, 진정한 딥 컬러 디스플레이는 FRC 없이 10비트 이상의 색상 깊이를 가진다.

HDMI 1.3 사양은 30비트(36비트 및 48비트 깊이도 포함)의 비트 깊이를 정의한다.
이와 관련하여, 2006년 이후 제조된 Nvidia Quadro 그래픽 카드는 30비트 딥 컬러를 지원하며 스튜디오 드라이버와 페어링된 파스칼 또는 그 이후의 지포스 및 타이탄 카드도 마찬가지다. 또한 HD 5970과 같은 라데온 HD 5900 시리즈의 일부 모델도 지원한다. ATI FireGL V7350 그래픽 카드는 40비트 및 64비트 픽셀(알파 채널 포함 30비트 및 48비트 색상 깊이)을 지원한다.

디스플레이포트 사양은 또한 버전 1.3에서 24 bpp 이상의 색상 깊이를 지원하는데, 이는 "시각적으로 손실 없는 저지연 알고리즘인 VESA Display Stream Compression을 사용하며, 예측 DPCM 및 YCoCg-R 색 공간을 기반으로 해 해상도와 색상 깊이를 높이고 전력 소비를 줄인다."

윈도우 하드웨어 엔지니어링 컨퍼런스 2008에서 마이크로소프트는 윈도우 7에서 30비트 및 48비트 색상 깊이를 지원할 것이며, 넓은 색상 영역인 ScRGB도 지원할 것이라고 발표했다.

고효율 비디오 코딩 (HEVC 또는 H.265)은 메인 10 프로파일을 정의하며, 4:2:0 크로마 서브샘플링과 함께 샘플당 8비트 또는 10비트를 허용한다. 메인 10 프로파일은 소비자 애플리케이션을 위해 10비트 프로파일을 HEVC에 추가할 것을 제안한 JCTVC-K0109 제안을 기반으로 2012년 10월 HEVC 회의에서 추가되었다. 이 제안은 이것이 향상된 비디오 품질을 허용하고 Rec. 2020 컬러 공간을 지원하기 위함이며, 이는 UHDTV에서 사용될 것이라고 명시했다. HEVC의 두 번째 버전은 샘플당 8비트에서 16비트까지의 비트 깊이를 허용하는 다섯 가지 프로파일을 가지고 있다.

2020년 현재, 일부 스마트폰은 원플러스 8 프로, 오포 파인드 X2 & 파인드 X2 프로, 소니 엑스페리아 1 II, 샤오미 미 10 울트라, 모토로라 엣지+, ROG 폰 3, 샤프 아쿠오스 제로 2와 같이 30비트 색상 깊이를 사용하기 시작했다.

### 36비트
각 색상 채널당 12비트를 사용하면 36비트, 즉 68,719,476,736가지 색상이 생성된다. 동일한 크기의 알파 채널이 추가되면 픽셀당 48비트가 된다.

### 48비트
각 색상 채널당 16비트를 사용하면 48비트, 즉 281,474,976,710,656가지 색상이 생성된다. 동일한 크기의 알파 채널이 추가되면 픽셀당 64비트가 된다.

그래픽 소프트웨어와 같은 그래픽 소프트웨어는 중간 결과의 양자화를 줄이기 위해 상당히 일찍부터 채널당 16비트를 사용하기 시작했다 (즉, 연산이 4로 나뉘고 다시 4로 곱해지면 8비트 데이터의 하위 2비트를 잃게 되지만, 16비트를 사용하면 8비트 데이터는 전혀 잃지 않는다).

## 확장

### 고동적 범위 및 넓은 색역
일부 시스템은 해상도를 높이는 대신 0–1 범위를 벗어나는 숫자에 해당 비트를 사용하기 시작했다. 1보다 큰 숫자는 고동적 범위 이미징 (HDRI)에서처럼 디스플레이가 표시할 수 있는 것보다 밝은 색상을 위한 것이었다. 음수는 전체 색상 범위를 확장하고 음수 필터 계수를 갖는 필터링 작업 결과를 저장할 수 있다. 픽사 이미지 컴퓨터는 12비트를 사용하여 [-1.5, 2.5) 범위의 숫자를 저장했는데, 정수 부분에 2비트, 소수 부분에 10비트를 사용했다. Cineon 이미징 시스템은 10비트 전문가용 비디오 디스플레이를 사용했으며, 비디오 하드웨어는 95의 값이 검정이고 685의 값이 흰색이 되도록 조정되었다. 증폭된 신호는 CRT의 수명을 단축시키는 경향이 있었다.

### 선형 색 공간 및 부동소수점
더 많은 비트는 또한 빛을 선형 값으로 저장하는 것을 장려했는데, 이는 숫자가 방출되는 빛의 양에 직접적으로 해당된다. 선형 수준은 컴퓨터 그래픽 계산을 훨씬 쉽게 만든다. 그러나 선형 색상은 흰색 근처에는 불균형적으로 더 많은 샘플을, 검정 근처에는 더 적은 샘플을 생성하므로 16비트 선형의 품질은 12비트 SRGB와 거의 동일하다.

부동소수점 숫자는 샘플을 반로그적으로 배치하여 선형 광도를 나타낼 수 있다. 부동소수점 표현은 또한 엄청나게 큰 동적 범위와 음수 값도 허용한다. 대부분의 시스템은 처음에는 채널당 32비트 단정밀도를 지원했는데, 이는 대부분의 애플리케이션에 필요한 정확도를 훨씬 초과했다. 1999년 인더스트리얼 라이트 & 매직은 채널당 16비트 반정밀도 부동소수점 숫자를 지원하는 개방형 표준 이미지 파일 형식인 OpenEXR을 출시했다. 1.0에 가까운 값에서 반정밀도 부동소수점 값은 11비트 정수 값의 정밀도만 가지므로, 일부 그래픽 전문가는 확장된 동적 범위가 필요하지 않은 상황에서 반정밀도를 거부하기도 했다.

### 세 가지 기본색 이상
거의 모든 텔레비전 디스플레이와 컴퓨터 디스플레이는 빨강, 녹색, 파랑 세 가지 원색의 강도를 조절하여 이미지를 형성한다. 예를 들어, 밝은 노랑은 대략 동일한 빨강과 녹색의 기여로, 파랑의 기여 없이 형성된다.

이미지를 저장하고 조작하는 데 있어 전통적인 삼각형을 확장하는 대안적인 방법들이 있다: 이미지 코딩을 가상의 원색을 사용하도록 변환할 수 있는데, 이는 물리적으로는 불가능하지만 삼각형을 확장하여 훨씬 더 큰 색상 영역을 포함하는 효과를 가진다. 이와 동등하고 더 간단한 변경은 색상 채널에 음수를 허용하여 표현되는 색상이 원색으로 형성된 색상 삼각형을 벗어나 확장될 수 있도록 하는 것이다. 그러나 이러한 방법들은 이미지 인코딩에서 표현될 수 있는 색상만을 확장하며, 디스플레이 장치에서 실제로 렌더링될 수 있는 색상의 색역을 확장하지는 않는다.
[240px|right|섬네일|일반적인 [브라운관|CRT 모니터의 색역: 색칠된 삼각형 내부는 모니터가 표시할 수 있는 색상을 나타낸다. 말굽 모양의 주변 회색 영역은 사람이 볼 수 있지만 모니터가 표시할 수 없는 색상을 나타낸다.]]
보조 색상은 디스플레이의 색상 영역을 넓힐 수 있는데, 이는 더 이상 세 원색의 모서리로 형성된 삼각형의 내부에 국한되지 않기 때문이다. 예를 들어, CIE 1931 색 공간이 있다. 텍사스 인스트루먼트의 BrilliantColor와 같은 최근 기술은 일반적인 빨강, 녹색, 파랑 채널에 최대 세 가지 다른 원색인 시안, 마젠타, 노랑을 추가한다. 시안은 빨강 채널의 음수 값으로, 마젠타는 녹색 채널의 음수 값으로, 노랑은 파랑 채널의 음수 값으로 표시되어, 가상의 음수 사용을 정당화한다.

미쓰비시와 삼성 (그 외)은 일부 TV 세트에 BrilliantColor를 사용하여 표시 가능한 색상 범위를 확장한다.
샤프 아쿠오스 TV 라인은 일반적인 RGB 픽셀 구성 요소에 노란색 서브픽셀을 추가하는 쿼트론 기술을 도입했다. 그러나 확장된 색상 영역을 허용하거나 활용하는 형식과 미디어는 현재 극히 드물다.

인간은 압도적으로 삼색형 색각자이거나 이색형 색각자이므로 네 번째 "원색"을 추가하는 것이 실질적인 이점을 제공할 수 없다고 생각할 수도 있다. 그러나 인간은 세 가지 색상 조명 혼합이 표시할 수 있는 것보다 더 넓은 색상 범위를 볼 수 있다. 색상의 부족은 RGB 디스플레이의 푸른 녹색의 채도가 높은 음영(다이어그램의 말굽 모양의 왼쪽 위 회색 부분으로 표시됨)에서 특히 두드러진다. 대부분의 인간은 어떤 컬러 비디오 화면도 표시할 수 없는 더 생생한 푸른 녹색을 볼 수 있다.

## 같이 보기
* 색 목록
* RGB

## 각주

; 내용주



분류:텔레비전 기술