팔레트 (컴퓨팅)
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
컬러 팔레트는 컴퓨팅에서 발생하거나 관리할 수 있는 총 색상의 수, 제한된 색상 집합, 개별 그림의 색상표, 동시 색상을 보유하는 데 사용되는 하드웨어 등을 의미한다. 그래픽 카드에서 가장 흔한 이미지 색 공간은 픽셀당 8비트의 색 심도를 가진 RGB 색상 모델이며, CLUT를 통해 더 작은 팔레트를 사용함으로써 픽셀당 비트 수를 줄일 수 있다. GUI 시스템은 화면 팔레트를 사용하며, 마스터 팔레트는 여러 이미지 썸네일을 표시하는 데 사용되는 일반적인 색상 집합이다. 적응형 팔레트는 이미지의 색상을 직접 선택하거나 색상 양자화를 통해 사용되며, 투명도를 지원하여 비디오 오버레이 등을 수행할 수 있다. 또한, 마이크로소프트 윈도우는 시스템 팔레트와 논리적 팔레트를 사용하여 팔레트를 관리한다.
더 읽어볼만한 페이지
- 색 깊이 - 회색조
회색조는 픽셀의 밝기만을 사용하여 이미지를 표현하는 단일 채널 이미지 형식으로, 픽셀 밝기는 0부터 1 또는 0%에서 100% 사이의 값으로 표현되며 컬러 이미지를 회색조로 변환하는 방법으로는 비색법을 이용하여 휘도를 유지하거나 색상 채널에 가중치를 적용하는 방법 등이 있다. - 색 깊이 - 단색
단색은 단일 색상으로 구성된 색 구성표로, 예술, 디자인, 과학 등 다양한 분야에서 시각적 응집력, 단일 파장의 빛, 흑백 이미지 등을 나타내며, 흑백 텔레비전, 초기 컴퓨터 디스플레이, 단색 정원 등에도 적용된다. - 컴퓨터 출력 장치 - USB 플래시 드라이브
USB 플래시 드라이브는 USB 인터페이스를 통해 컴퓨터와 연결되는 휴대용 저장 장치로, 플래시 메모리 발명 후 상용화되어 플로피 디스크나 CD를 대체하며 데이터 저장, 운영 체제 부팅 등 다양한 용도로 사용되지만 위조 제품, 보안 위협, 제한적인 쓰기 횟수 등의 문제점도 있다. - 컴퓨터 출력 장치 - 모노크롬 모니터
모노크롬 모니터는 단일 색상의 형광체를 사용하여 흑백으로 문자와 그래픽을 표시하며, 1980년대 후반 컬러 모니터 등장으로 사용이 줄었지만 특정 분야에서 사용되기도 하고, 레트로 트렌드에 따라 재조명받고 있다. - 컴퓨터 그래픽스 자료 구조 - 래스터 그래픽스
래스터 그래픽스는 이미지를 픽셀 배열로 표현하며 해상도에 종속적인 특징을 갖고 다양한 파일 형식으로 저장되어 여러 분야에 활용된다. - 컴퓨터 그래픽스 자료 구조 - 화소
화소는 디지털 이미지를 구성하는 가장 작은 단위로, 이미지 해상도를 결정하며, 디스플레이 장치, 디지털 카메라, 그래픽 디자인 등 다양한 분야에서 활용되는 요소이다.
팔레트 (컴퓨팅) | |
---|---|
컴퓨터 그래픽스 팔레트 | |
정의 | 컴퓨터 그래픽스에서 사용할 수 있는 제한된 색상 집합 |
관련 용어 | 색 깊이, 인덱스 컬러 |
활용 | 이미지 저장 및 표시 색상 선택 인터페이스 데이터 시각화 |
색상 표현 방식 | |
인덱스 컬러 | 각 색상에 고유한 숫자(인덱스)를 할당하여 팔레트에 저장 |
RGB 컬러 | 각 색상을 빨강, 초록, 파랑의 조합으로 표현 |
팔레트의 역할 | |
이미지 파일 크기 감소 | 제한된 색상만 사용하므로 이미지 파일 크기를 줄일 수 있음 |
색상 일관성 유지 | 여러 이미지에서 동일한 색상 팔레트를 사용하여 색상 일관성을 유지할 수 있음 |
하드웨어 제한 극복 | 오래된 하드웨어의 제한된 색상 지원을 극복하는 데 사용 |
팔레트 생성 방법 | |
사용자 정의 | 사용자가 직접 색상을 선택하여 팔레트 생성 |
알고리즘 기반 | 이미지의 색상 분포를 분석하여 자동으로 팔레트 생성 (예: 중간 분할 알고리즘) |
팔레트 활용 예시 | |
게임 그래픽 | 8비트 또는 16비트 게임에서 제한된 색상을 효율적으로 사용 |
웹 디자인 | 웹 안전 색상을 사용하여 다양한 브라우저에서 일관된 색상 표현 |
데이터 시각화 | 데이터 값을 색상으로 매핑하여 시각적으로 표현 |
장단점 | |
장점 | 파일 크기 감소 색상 일관성 유지 하드웨어 호환성 |
단점 | 표현 가능한 색상 수 제한 색상 계조 표현의 어려움 (밴딩 현상) |
기타 | |
디더링 | 제한된 색상으로 더 다양한 색상을 표현하기 위한 기술 |
색상 양자화 | 더 많은 색상을 가진 이미지를 제한된 색상의 팔레트를 사용하여 표현하는 과정 |
2. 컬러 팔레트의 정의 및 종류
컴퓨팅에서 컬러 팔레트(color palette)는 다음 두 가지 의미로 쓰인다.[1]
- 발생/관리가 가능한 총 색들의 수
- 동시에 표시 가능하면서도, 제한되어 선별된 색들
2019년 현재, 그래픽 카드에서 가장 흔한 이미지 색 공간은 픽셀당 8비트의 색 심도를 가진 RGB 색상 모델이다. 이 기술을 사용하면 픽셀당 8비트가 각 RGB 채널의 휘도 수준을 설명하는 데 사용되므로 24비트가 각 픽셀의 색상을 완전히 설명한다. 따라서 이러한 하드웨어의 전체 시스템 팔레트는 224개의 색상을 갖는다.
CLUT(Color Look-Up Table)를 통해 더 작은 팔레트를 사용하는 목적은 한 번에 처리할 수 있는 가능한 색상 집합을 줄임으로써 (종종 적응형 방법을 사용하여) 픽셀당 비트 수를 줄이는 것이다. 예를 들어, GIF 파일 형식에서 일반적으로 사용되는 256색 팔레트가 있는데, 여기서는 전체 24비트 색상 공간에서 이미지를 나타내는 데 사용될 256가지 색상이 선택되고 각 색상에는 8비트 인덱스가 할당된다. 이러한 방식으로 시스템은 잠재적으로 RGB 색상 공간의 모든 색상을 재현할 수 있지만 (256색 제한이 허용하는 한) 픽셀당 저장 요구 사항은 24비트에서 8비트로 줄어든다.
컬러 팔레트는 다음과 같은 종류로 세분화된다.
- 고정 팔레트(fixed palette): 미리 정해진 색상 집합
- 선정/선택된 색: 사용자가 선택한 색상 집합
- 색상표(color table) 또는 컬러 맵(color map): 이미지 팔레트 또는 이미지 색이라고도 하며, 개별 이미지에 사용되는 색상 집합
- 이미지 팔레트(image palette) 또는 이미지 색(image color)
- 하드웨어 팔레트(hardware palette) 또는 CLUT(Color Look-Up Table): 동시 색을 보유하는 데 사용되는 기반 하드웨어
2. 1. 풀 팔레트 (Full Palette)
컴퓨팅에서 풀 팔레트(full palette)는 하이컬러 디스플레이처럼 16비트 RGB 팔레트를 가리킨다. 2019년 현재 그래픽 카드에서 가장 흔한 이미지 색 공간은 픽셀당 8비트의 색 심도를 가진 RGB 색상 모델이다.[1] 이 기술은 픽셀당 8비트를 사용하여 각 RGB 채널의 휘도 수준을 표현하므로, 각 픽셀의 색상을 완전히 표현하는 데 24비트가 사용된다. 따라서 이러한 하드웨어의 전체 시스템 팔레트는 224개의 색상을 갖는다.CLUT를 통해 더 작은 팔레트를 사용하는 이유는 한 번에 처리할 수 있는 색상 집합을 줄여 (주로 적응형 방법을 사용하여) 픽셀당 비트 수를 줄이기 위함이다. 가능한 각 색상에는 인덱스가 할당되어, 각 색상을 표현하는 데 필요한 정보보다 적은 정보로 색상을 참조할 수 있다. 예를 들어 GIF 파일 형식에서 일반적으로 사용되는 256색 팔레트가 있는데, 여기서는 전체 24비트 색상 공간에서 이미지를 나타내는 데 사용될 256가지 색상이 선택되고, 각 색상에는 8비트 인덱스가 할당된다. 이러한 방식으로 시스템은 잠재적으로 RGB 색상 공간의 모든 색상을 재현할 수 있지만(256색 제한이 허용하는 한) 픽셀당 저장 요구 사항은 24비트에서 8비트로 줄어든다.
화면에 많은 이미지 썸네일을 모자이크 형태로 표시하는 응용 프로그램에서는 모든 이미지 썸네일의 적응형 팔레트를 하드웨어 색상 레지스터에 동시에 로드하지 못할 수 있다. 이에 대한 해결책은 모든 종류의 이미지를 합리적인 정확도로 표시하는 데 사용할 수 있는 고유하고 일반적인 ''마스터 팔레트'' 또는 ''범용 팔레트''를 사용하는 것이다.
마스터 팔레트는 빨강, 녹색, 파랑 구성 요소가 가질 수 있는 가능한 수준을 제한하면서 "미니어처" RGB 색상 공간을 완전히 포함하도록 색상을 선택하여 만들 수 있다. 이러한 종류의 배열을 ''균일 팔레트''라고도 한다.[1] 일반적인 사람의 눈은 세 가지 기본 색상에 대해 서로 다르게 민감하다. 녹색에 더 민감하고 파란색에 덜 민감하다. 따라서 RGB 배열은 녹색 구성 요소에 더 많은 레벨을 할당하고 파란색 구성 요소에 더 적은 레벨을 할당하여 이를 활용할 수 있다.
이러한 방식으로 구축된 마스터 팔레트는 프로그램이 특수한 목적으로 사용할 수 있는 예약된 색상, 색상 인덱스를 팔레트에 남겨둔다. 6R×6G×6B (216) (예: 웹 색상의 경우) 또는 다른 조합을 사용하는 것이 더 일반적이며, 이는 일부 예약된 색상을 위한 공간을 남긴다.
이미지 썸네일의 모자이크(또는 다른 이질적인 이미지)를 로드할 때 프로그램은 모든 원본 인덱스 색상 픽셀을 마스터 팔레트에서 가장 근사한 색상으로 매핑한 다음(이것을 하드웨어 색상 레지스터에 덤프한 후) 결과를 비디오 버퍼에 쓴다.

2. 2. 제한된 색상 집합 (Limited Color Set)
컴퓨팅에서 색상 팔레트(color palette)는 제한된 수의 색상 집합을 의미한다. 2019년 현재, 그래픽 카드에서 가장 흔한 이미지 색 공간은 픽셀당 8비트의 색 심도를 가진 RGB 색상 모델이다. 이 기술은 픽셀당 8비트를 사용하여 각 RGB 채널의 휘도 수준을 설명하므로, 24비트가 각 픽셀의 색상을 완전히 설명한다. 따라서 이러한 하드웨어의 전체 시스템 팔레트는 224개의 색상을 갖는다.CLUT(Color Look-Up Table)를 통해 더 작은 팔레트를 사용하는 목적은 한 번에 처리할 수 있는 가능한 색상 집합을 줄임으로써 (종종 적응형 방법을 사용하여) 픽셀당 비트 수를 줄이는 것이다. 예를 들어, GIF 파일 형식에서 일반적으로 사용되는 256색 팔레트가 있는데, 여기서는 전체 24비트 색상 공간에서 이미지를 나타내는 데 사용될 256가지 색상이 선택되고 각 색상에는 8비트 인덱스가 할당된다. 이러한 방식으로 시스템은 잠재적으로 RGB 색상 공간의 모든 색상을 재현할 수 있지만 (256색 제한이 허용하는 한) 픽셀당 저장 요구 사항은 24비트에서 8비트로 줄어든다.[1]
제한된 색상 집합은 다음과 같은 종류로 세분화된다.
- 고정 팔레트(fixed palette): 미리 정해진 색상 집합을 사용한다.
- 선정/선택된 색: 사용자가 선택한 색상 집합을 사용한다.
- 색상표(color table) 또는 컬러 맵(color map): 이미지 팔레트 또는 이미지 색이라고도 하며, 개별 이미지에 사용되는 색상 집합이다.
- 이미지 팔레트(image palette) 또는 이미지 색(image color)
인덱스 색상 기법을 사용할 때, 실제 이미지들은 트루컬러 원본에 더 가깝게 표현되는데, 이는 원본 이미지에서 직접 알고리즘을 통해 색상을 선택하거나 색상 양자화하는 적응형 팔레트를 사용하기 때문이다. 이러한 방식으로, 추가적인 디더링을 통해 인덱스 색상 이미지는 원본에 거의 근접하게 일치할 수 있다.
하지만, 이미지 픽셀과 적응형 팔레트 간에 강한 의존성이 발생한다. 제한된 8비트 그래픽 디스플레이에서는 이미지의 적응형 팔레트를 프레임 버퍼에 로드하기 전에 색상 하드웨어 레지스터에 로드해야 한다. 서로 다른 적응형 팔레트를 가진 이미지를 표시하려면 슬라이드 쇼처럼 하나씩 로드해야 한다.
2. 2. 1. 고정 팔레트 (Fixed Palette)
컴퓨팅에서 고정 팔레트(fixed palette)는 제한된 수의 색상을 미리 선택하여 사용하는 것을 의미한다. 이는 전체 화면에 적용될 수도 있고, 개별 그림에 적용될 수도 있다.2019년 현재, 그래픽 카드에서 가장 흔한 이미지 색 공간은 픽셀당 8비트의 색 심도를 가진 RGB 색상 모델이다. 이 기술을 사용하면 픽셀당 8비트가 각 RGB 채널의 휘도 수준을 설명하는 데 사용되므로 24비트가 각 픽셀의 색상을 완전히 설명한다. 따라서 이러한 하드웨어의 전체 시스템 팔레트는 224개의 색상을 갖는다.
CLUT(Color Look-Up Table)를 통해 더 작은 팔레트를 사용하는 목적은 한 번에 처리할 수 있는 가능한 색상 집합을 줄임으로써 (종종 적응형 방법을 사용하여) 픽셀당 비트 수를 줄이는 것이다. 각 색상에는 인덱스가 할당되어, 각 색상이 색상을 완전히 설명하는 데 필요한 정보보다 적은 정보로 참조될 수 있다. 예를 들어 GIF 파일 형식에서 일반적으로 사용되는 256색 팔레트가 있는데, 여기서는 전체 24비트 색상 공간에서 이미지를 나타내는 데 사용될 256가지 색상이 선택되고 각 색상에는 8비트 인덱스가 할당된다. 이러한 방식으로 시스템은 잠재적으로 RGB 색상 공간의 모든 색상을 재현할 수 있지만 (256색 제한이 허용하는 한) 픽셀당 저장 요구 사항은 24비트에서 8비트로 줄어든다.
화면에 여러 이미지 썸네일을 표시하는 응용 프로그램에서는 모든 이미지 썸네일의 적응형 팔레트를 동시에 로드하지 못할 수 있다. 이 경우, 모든 종류의 이미지를 합리적인 정확도로 표시하는 데 사용할 수 있는 ''마스터 팔레트'' 또는 ''범용 팔레트''를 사용한다.
마스터 팔레트는 빨강, 녹색, 파랑 구성 요소가 가질 수 있는 가능한 수준을 제한하면서 "미니어처" RGB 색상 공간을 완전히 포함하도록 색상을 선택하여 만든다. 이러한 종류의 배열을 ''균일 팔레트''라고도 한다.[1] 일반적인 사람의 눈은 녹색에 더 민감하고 파란색에 덜 민감하기 때문에, RGB 배열은 녹색 구성 요소에 더 많은 레벨을 할당하고 파란색 구성 요소에 더 적은 레벨을 할당하여 이를 활용할 수 있다.
이러한 방식으로 구축된 마스터 팔레트는 최대 8R×8G×4B (256색)까지 채울 수 있지만, 프로그램이 특수한 목적으로 사용할 수 있는 예약된 색상을 위한 공간을 남겨두는 것이 일반적이다. 6R×6G×6B (216색) (예: 웹 색상의 경우), 6R×8G×5B (240색) 또는 6R×7G×6B (252색)을 사용하는 것이 일반적이다.
이미지 썸네일 모자이크(또는 다른 이질적인 이미지)를 로드할 때, 프로그램은 모든 원본 인덱스 색상 픽셀을 마스터 팔레트에서 가장 근사한 색상으로 매핑한 다음 결과를 비디오 버퍼에 쓴다.
2. 2. 2. 선정/선택된 색상 (Selected Colors)
컴퓨팅에서 컬러 팔레트는 제한되어 선별된 색들을 의미하며, 전체 화면에 표시될 수 있다. 고정 팔레트, 선정/선택된 색, 기본 팔레트 또는 시스템 팔레트 등이 여기에 해당한다.많은 다른 이미지 썸네일을 모자이크 형태로 표시하는 응용 프로그램에서는 하드웨어 색상 레지스터에 모든 이미지 썸네일의 적응형 팔레트를 동시에 로드하지 못할 수 있다. 이 경우, 어떤 종류의 이미지든 합리적인 정확도로 표시하는 데 사용할 수 있는 ''마스터 팔레트'' 또는 ''범용 팔레트''를 사용한다.
마스터 팔레트는 빨강, 녹색, 파랑 구성 요소가 가질 수 있는 가능한 수준을 제한하면서 "미니어처" RGB 색상 공간을 완전히 포함하도록 색상을 선택한다. 이러한 배열을 ''균일 팔레트''라고도 한다.[1] 사람의 눈은 녹색에 더 민감하고 파란색에 덜 민감하기 때문에, RGB 배열은 녹색 구성 요소에 더 많은 레벨을 할당하고 파란색 구성 요소에 더 적은 레벨을 할당한다.
마스터 팔레트는 최대 256색까지 채울 수 있지만, 프로그램이 특수한 목적으로 사용할 수 있는 예약된 색상을 남겨두기 위해 6R×6G×6B (216색) (웹 색상 등), 6R×8G×5B (240색), 6R×7G×6B (252색) 등을 사용하는 것이 일반적이다.
이미지 썸네일 모자이크를 로드할 때, 프로그램은 모든 원본 인덱스 색상 픽셀을 마스터 팔레트에서 가장 근사한 색상으로 매핑하고, 결과를 비디오 버퍼에 쓴다. 다음은 240개의 RGB 색상과 16개의 추가 회색 중간 음영을 가진 마스터 팔레트를 사용하여 4개의 이미지 썸네일을 배치한 샘플이다.
인덱스 색상 기법을 사용할 때, 실제 이미지는 트루컬러 원본에 더 가깝게 표현된다. 이는 색상 양자화하는 적응형 팔레트를 사용하기 때문이다. 적응형 팔레트는 원본 이미지에서 가장 빈번하게 나타나는 색상을 선택한다. 이를 통해 디더링을 추가하여 인덱스 색상 이미지를 원본에 거의 근접하게 일치시킬 수 있다.
그러나 이는 이미지 픽셀과 적응형 팔레트 사이에 강한 의존성을 만든다. 제한된 8비트 깊이의 그래픽 디스플레이에서는 이미지의 적응형 팔레트를 이미지 표면 자체를 프레임 버퍼에 로드하기 전에 색상 하드웨어 레지스터에 로드해야 한다. 서로 다른 적응형 팔레트를 가진 이미지를 표시하려면 슬라이드 쇼처럼 하나씩 로드해야 한다. 다음은 각각의 (그리고 대체로 호환되지 않는) 적응형 팔레트를 보여주는 색상 패치가 있는 네 개의 서로 다른 인덱스 색상 이미지 샘플이다.




2. 2. 3. 색상표 (Color Table) 또는 컬러 맵 (Color Map)
컴퓨팅에서 색상표(color table) 또는 컬러 맵(color map)은 제한된 색상들 중에서 선택된 색들의 집합을 의미한다. 이것은 주로 개별 그림에서 사용되며, 이미지 팔레트(image palette) 또는 이미지 색(image color)이라고도 불린다.[1]2019년 현재, 그래픽 카드에서 가장 흔한 이미지 색 공간은 픽셀당 8비트의 색 심도를 가진 RGB 색상 모델이다. 이 기술을 사용하면 픽셀당 8비트가 각 RGB 채널의 휘도 수준을 설명하는 데 사용되므로 24비트가 각 픽셀의 색상을 완전히 설명한다. 따라서 이러한 하드웨어의 전체 시스템 팔레트는 224개의 색상을 갖는다.
CLUT(Color Look-Up Table)를 통해 더 작은 팔레트를 사용하는 목적은 한 번에 처리할 수 있는 가능한 색상 집합을 줄임으로써 (종종 적응형 방법을 사용하여) 픽셀당 비트 수를 줄이는 것이다. 가능한 각 색상에는 인덱스가 할당되어 각 색상이 색상을 완전히 설명하는 데 필요한 정보보다 적은 정보로 참조될 수 있다. 예를 들어 GIF 파일 형식에서 일반적으로 사용되는 256색 팔레트가 있는데, 여기서는 전체 24비트 색상 공간에서 이미지를 나타내는 데 사용될 256가지 색상이 선택되고 각 색상에는 8비트 인덱스가 할당된다. 이러한 방식으로 시스템은 잠재적으로 RGB 색상 공간의 모든 색상을 재현할 수 있지만 (256색 제한이 허용하는 한) 픽셀당 저장 요구 사항은 24비트에서 8비트로 줄어든다.[1]
2. 2. 4. 이미지 팔레트 (Image Palette) 또는 이미지 색 (Image Color)
컴퓨팅에서 컬러 팔레트는 제한된 색상을 선택하여 표시한다. 2019년 현재 가장 흔한 이미지 색 공간은 픽셀당 8비트의 색 심도를 가진 RGB 색상 모델이다. 이 기술은 픽셀당 8비트를 사용하여 각 RGB 채널의 휘도 수준을 설명하므로, 24비트가 각 픽셀의 색상을 완전히 설명한다. 이러한 하드웨어의 전체 시스템 팔레트는 224개의 색상을 갖는다.GIF 파일 형식과 같이, 256색 팔레트가 사용되는 경우, 전체 24비트 색상 공간에서 이미지를 나타내는 데 사용될 256가지 색상이 선택되고 각 색상에는 8비트 인덱스가 할당된다. 이러한 방식으로 시스템은 잠재적으로 RGB 색상 공간의 모든 색상을 재현할 수 있지만(256색 제한이 허용하는 한), 픽셀당 저장 요구 사항은 24비트에서 8비트로 줄어든다.[1]
화면에 여러 이미지 썸네일을 표시하는 응용 프로그램에서는 모든 이미지 썸네일의 적응형 팔레트를 동시에 로드하지 못할 수 있다. 이 경우, ''마스터 팔레트'' 또는 ''범용 팔레트''를 사용하여 해결할 수 있다.
이는 마스터 팔레트가 빨강, 녹색 및 파랑 구성 요소가 가질 수 있는 가능한 수준을 제한하면서 "미니어처" RGB 색상 공간을 완전히 포함하도록 색상을 선택하여 수행된다. 이러한 종류의 배열을 때때로 ''균일 팔레트''라고 한다.[1]
일반적인 사람의 눈은 세 가지 기본 색상에 대해 다른 정도로 민감하다. 녹색에 더 많이, 파란색에 덜 민감하다. 따라서 RGB 배열은 녹색 구성 요소에 더 많은 레벨을 할당하고 파란색 구성 요소에 더 적은 레벨을 할당하여 이를 활용할 수 있다.
인덱스 색상 기법을 사용할 때, 실제 이미지들은 트루컬러 원본에 더 가깝게 표현되는데, 이는 원본 이미지에서 직접 알고리즘을 통해 색상을 선택하거나 색상 양자화하는 적응형 팔레트를 사용하기 때문이다. 이러한 방식으로, 추가적인 디더링을 통해 인덱스 색상 이미지는 원본에 거의 근접하게 일치할 수 있다.
그러나 이것은 이미지 픽셀과 적응형 팔레트 사이에 강한 의존성을 만든다. 제한된 8비트 깊이의 그래픽 디스플레이를 가정하면, 주어진 이미지의 적응형 팔레트를 이미지 표면 자체를 프레임 버퍼에 로드하기 전에 색상 하드웨어 레지스터에 로드해야 한다. 서로 다른 적응형 팔레트를 가진 서로 다른 이미지를 표시하려면, 마치 슬라이드 쇼처럼 하나씩 로드해야 한다.
2. 3. 하드웨어 팔레트 (Hardware Palette)
컴퓨팅에서 컬러 팔레트는 동시 색을 보유하는 데 사용되는 기반 하드웨어를 의미하기도 한다. 이를 하드웨어 팔레트 또는 CLUT(Color Look-Up Table)라고 부른다.[1]3. GUI 팔레트
그래픽 사용자 인터페이스(GUI) 시스템은 화면 팔레트를 사용하는데, 여기에는 사용자 및 시스템 색상의 정렬, 팔레트 윈도라고 불리는 응용 프로그램 도구 팔레트(직사각형 영역)가 포함된다.
3. 1. 사용자 및 시스템 색상
그래픽 사용자 인터페이스(GUI) 시스템은 화면 팔레트를 사용하는데, 여기에는 다음이 포함된다.- 사용자 및 시스템 색상의 제한된 집합을 선택 가능하도록 정렬한 것.
- 팔레트 윈도라고 불리는, 단추, 아이콘 및 기타 GUI 컨트롤을 포함하는 응용 프로그램의 도구 팔레트(직사각형 영역).
3. 2. 팔레트 윈도 (Palette Window)
그래픽 사용자 인터페이스(GUI) 시스템에서 팔레트 윈도는 단추, 아이콘 및 기타 GUI 컨트롤을 포함하는 응용 프로그램의 도구 팔레트로, 직사각형 모양의 영역이다.4. 마스터 팔레트 (Master Palette)
마스터 팔레트는 프로그램이 특수한 목적으로 사용할 수 있는 예약된 색상(색상 인덱스)을 남겨두기 위해 최대 256색보다 적은 수로 구성하는 것이 일반적이다.
4. 1. 균일 팔레트 (Uniform Palette)
화면에 모자이크 형태로 많은 다른 이미지 썸네일을 표시하는 응용 프로그램에서는 프로그램이 하드웨어 색상 레지스터에 표시된 모든 이미지 썸네일의 적응형 팔레트를 동시에 로드하지 못할 수 있다. 해결책은 어떤 종류의 이미지든 합리적인 정확도로 표시하는 데 사용할 수 있는 고유하고 일반적인 ''마스터 팔레트'' 또는 ''범용 팔레트''를 사용하는 것이다.이것은 마스터 팔레트가 빨강, 녹색 및 파랑 구성 요소가 가질 수 있는 가능한 수준을 제한하면서 "미니어처" RGB 색상 공간을 완전히 포함하도록 색상을 선택하여 수행된다. 이러한 종류의 배열을 때때로 ''균일 팔레트''라고 한다.[1] 일반적인 사람의 눈은 세 가지 기본 색상에 대해 다른 정도로 민감하다. 녹색에 더 많이, 파란색에 덜 민감하다. 따라서 RGB 배열은 녹색 구성 요소에 더 많은 레벨을 할당하고 파란색 구성 요소에 더 적은 레벨을 할당하여 이를 활용할 수 있다.
이러한 방식으로 구축된 마스터 팔레트는 프로그램이 특수한 목적으로 사용할 수 있는 예약된 색상, 색상 인덱스를 팔레트에 남겨두지 않는다. 6R×6G×6B 216 (예: 웹 색상의 경우) 또는 6R×8G×5B 240 등을 사용하는 것이 더 일반적이며, 이는 일부 예약된 색상을 위한 공간을 남긴다.
그런 다음 이미지 썸네일의 모자이크(또는 다른 이질적인 이미지)를 로드할 때 프로그램은 모든 원본 인덱스 색상 픽셀을 마스터 팔레트에서 가장 근사한 색상으로 매핑한 다음(이것을 하드웨어 색상 레지스터에 덤프한 후) 결과를 비디오 버퍼에 쓴다. 다음은 240개의 RGB 색상으로 배열된 마스터 팔레트와 16개의 추가 회색 중간 음영을 사용하여 4개의 이미지 썸네일의 간단한 모자이크 샘플이다. 모든 이미지는 색상 정확도 손실 없이 함께 배치된다.
- -|]]
4. 2. 마스터 팔레트의 활용
화면에 여러 이미지 썸네일을 모자이크 형태로 표시하는 응용 프로그램의 경우, 하드웨어 색상 레지스터에 모든 이미지 썸네일의 적응형 팔레트를 동시에 로드하기 어려울 수 있다. 이에 대한 해결책은 모든 종류의 이미지를 합리적인 정확도로 표시하는 데 사용 가능한 ''마스터 팔레트''(범용 팔레트)를 사용하는 것이다.마스터 팔레트는 빨강, 녹색, 파랑 구성 요소가 가질 수 있는 가능한 수준을 제한, "미니어처" RGB 색상 공간을 완전히 포함하도록 색상을 선택하여 만들어진다. 이러한 배열은 ''균일 팔레트''라고도 불린다.[1] 일반적인 사람의 눈은 녹색에 더 민감하고 파란색에 덜 민감하다. 따라서 RGB 배열은 녹색 구성 요소에 더 많은 레벨을 할당하고 파란색 구성 요소에는 더 적은 레벨을 할당하여 이러한 특성을 활용한다.
마스터 팔레트는 최대 256색까지 채울 수 있지만, 프로그램에서 특수 목적으로 사용할 수 있는 예약된 색상, 색상 인덱스를 팔레트에 남겨두지 않는다. 6R×6G×6B=216 (예: 웹 색상의 경우), 6R×8G×5B=240 또는 6R×7G×6B=252를 사용하는 것이 일반적이며, 이는 예약된 색상을 위한 공간을 제공한다.
이미지 썸네일 모자이크(또는 다른 이질적인 이미지)를 로드할 때, 프로그램은 모든 원본 인덱스 색상 픽셀을 마스터 팔레트에서 가장 근사한 색상으로 매핑하고(하드웨어 색상 레지스터에 덤프한 후) 결과를 비디오 버퍼에 쓴다. 다음은 240개의 RGB 색상과 16개의 추가 회색 중간 음영으로 배열된 마스터 팔레트를 사용한 4개 이미지 썸네일 모자이크 샘플이다. 모든 이미지는 색상 정확도 손실 없이 함께 배치된다.
- -|]]
5. 적응형 팔레트 (Adaptive Palette)
인덱스 색상 기법을 사용할 때, 실제 이미지들은 트루컬러 원본에 더 가깝게 표현되는데, 이는 원본 이미지에서 직접 알고리즘을 통해 색상을 선택하거나 색상 양자화하는 적응형 팔레트(때로는 '적응형 팔레트'라고도 함)를 사용하기 때문이다(가장 빈번하게 나타나는 색상을 선택함으로써). 이러한 방식으로, 추가적인 디더링을 통해 인덱스 색상 이미지는 원본에 거의 근접하게 일치할 수 있다.
그러나 이것은 이미지 픽셀과 적응형 팔레트 사이에 강한 의존성을 만든다. 제한된 8비트 깊이의 그래픽 디스플레이를 가정하면, 주어진 이미지의 적응형 팔레트를 이미지 표면 자체를 프레임 버퍼에 로드하기 전에 색상 하드웨어 레지스터에 로드해야 한다. 서로 다른 적응형 팔레트를 가진 서로 다른 이미지를 표시하려면, 마치 슬라이드 쇼처럼 하나씩 로드해야 한다. 다음은 각각의 (그리고 대체로 호환되지 않는) 적응형 팔레트를 보여주는 색상 패치가 있는 네 개의 서로 다른 인덱스 색상 이미지 샘플이다.
6. 팔레트에서의 투명도 (Transparency)
인덱스 색상 이미지에서는 단일 팔레트 항목을 ''투명''으로 지정하여 비디오 오버레이를 수행할 수 있다. 이때, 이미지의 일부는 배경을 가리고 나머지는 가리지 않도록 겹쳐서 표시된다.
Commodore 64, MSX, Amiga와 같은 일부 초기 컴퓨터는 하드웨어를 통해 스프라이트 및/또는 전체 화면 비디오 오버레이를 지원했다. 이러한 경우, 투명 팔레트 항목 번호는 하드웨어에 의해 정의되었으며, 보통 0번이 사용되었다.
이와 관련된 기술로, 이미지 마스크와 알파 채널은 팔레트나 투명 색상을 사용하지 않고 이미지 외부에 추가된 바이너리 데이터 레이어를 활용하는 방식이다.
6. 1. 투명 색상의 활용
인덱스 색상 이미지의 단일 팔레트 항목은 ''투명'' 색상으로 지정하여 간단한 비디오 오버레이를 수행할 수 있다. 즉, 주어진 이미지의 일부가 배경을 가리고 나머지는 가리지 않도록 이미지를 배경 위에 겹쳐서 표시하는 것이다. 영화/TV 타이틀과 크레딧을 오버레이하는 것이 비디오 오버레이의 전형적인 응용 분야이다.겹쳐서 표시할 이미지(인덱스 색상 가정)에서 주어진 팔레트 항목은 투명 색상의 역할을 한다. 일반적으로 인덱스 번호는 0이지만, 소프트웨어에 의해 오버레이가 수행되는 경우 다른 번호를 선택할 수 있다. 디자인 시, 투명 색상 팔레트 항목은 임의의 (일반적으로 눈에 띄는) 색상으로 지정된다. 예시로, 오렌지색 배경 위에 포인팅 장치용 전형적인 화살표 포인터가 디자인되었으며, 여기서 오렌지색 영역은 투명 영역을 나타낸다. 런타임 시, 겹쳐진 이미지는 배경 이미지 위에 아무 곳에나 배치되며, 픽셀 색상 인덱스가 투명 색상이면 배경 픽셀이 유지되고, 그렇지 않으면 대체되는 방식으로 혼합된다.
이 기술은 포인터, 전형적인 2D 비디오 게임의 캐릭터, 총알 등에 사용된다(스프라이트). 비디오 타이틀링 및 기타 이미지 혼합 응용 프로그램에도 사용된다.
GIF와 같은 일부 인덱스 색상 이미지 파일 형식은 주어진 이미지에 사용된 팔레트 항목 중 자유롭게 선택할 수 있는 ''투명''으로 지정하는 것을 기본적으로 지원한다.
6. 2. 투명도 지원 형식
인덱스 색상 이미지의 단일 팔레트 항목은 ''투명'' 색상으로 지정하여 간단한 비디오 오버레이를 수행할 수 있다. 즉, 주어진 이미지의 일부가 배경을 가리고 나머지는 가리지 않도록 이미지를 배경 위에 겹쳐서 표시하는 것이다. 영화/TV 타이틀과 크레딧을 오버레이하는 것이 비디오 오버레이의 전형적인 응용 분야이다.겹쳐서 표시할 이미지(인덱스 색상 가정)에서 주어진 팔레트 항목은 투명 색상의 역할을 한다. 일반적으로 인덱스 번호는 0이지만, 소프트웨어에 의해 오버레이가 수행되는 경우 다른 번호를 선택할 수 있다. 디자인 시, 투명 색상 팔레트 항목은 임의의 (일반적으로 눈에 띄는) 색상으로 지정된다. 런타임 시, 겹쳐진 이미지는 배경 이미지 위에 아무 곳에나 배치되며, 픽셀 색상 인덱스가 투명 색상이면 배경 픽셀이 유지되고, 그렇지 않으면 대체되는 방식으로 혼합된다.
이 기술은 포인터, 전형적인 2D 비디오 게임의 캐릭터, 총알 등에 사용되는 스프라이트, 비디오 타이틀링 및 기타 이미지 혼합 응용 프로그램에 사용된다.
GIF와 같은 일부 인덱스 색상 이미지 파일 형식은 주어진 이미지에 사용된 팔레트 항목 중 자유롭게 선택할 수 있는 ''투명''으로 지정하는 것을 기본적으로 지원한다.[2] BMP 파일 형식은 컬러 테이블에 알파 채널 값을 위한 공간을 예약하지만, 현재 이 공간은 투명도 데이터를 저장하는 데 사용되지 않으며 0으로 설정된다. 반면, PNG는 팔레트 항목에서 알파 채널을 지원하여 팔레트 이미지에서 반투명성을 가능하게 한다.
트루컬러 이미지를 처리할 때, 일부 비디오 혼합 장비는 RGB 삼중항 (0,0,0) (빨강, 녹색, 파랑 없음: 가장 어두운 검은색, 이 맥락에서 종종 ''슈퍼블랙''이라고 함)을 투명 색상으로 사용할 수 있다. 디자인 시, 소위 매직 핑크로 대체된다. 마찬가지로, 전형적인 데스크톱 출판 소프트웨어는 텍스트 단락이 이미지의 주제 주위에 불규칙한 텍스트 배열을 위해 이미지의 경계 상자를 ''침범''하도록 하기 위해 사진 및 일러스트레이션에서 순수한 흰색, RGB 삼중항 (255,255,255)을 제외할 수 있다.
2D 페인팅 프로그램은 잘라내기, 복사 및 붙여넣기 작업을 수행할 때 사용자가 지정한 ''배경색''을 투명 색상으로 사용할 수 있다.
7. 소프트웨어 팔레트
마이크로소프트 윈도우 응용 프로그램은 Win32 API를 통해 4비트 또는 8비트 인덱스 색상 디스플레이 장치의 팔레트를 관리한다. 하이컬러 및 트루컬러 디스플레이 모드에서는 팔레트 적용이 제한적이다. 이러한 API는 "시스템 팔레트"와 여러 "논리적 팔레트"를 다룬다. 시스템 팔레트에 대한 자세한 내용은 "윈도우 팔레트 관리" 하위 섹션을 참조하면 된다.
7. 1. 마이크로소프트 윈도우 (Microsoft Windows)
마이크로소프트 윈도우 응용 프로그램은 Win32 API를 통해 4비트 또는 8비트 인덱스 색상 디스플레이 장치의 팔레트를 관리한다. 자세한 내용은 하위 섹션 "윈도우 팔레트 관리"를 참조.7. 1. 1. 윈도우 팔레트 관리
마이크로소프트 윈도우 응용 프로그램은 Win32 API의 특수 기능을 통해 4비트 또는 8비트 인덱스 색상 디스플레이 장치의 팔레트를 관리한다. 하이컬러 및 트루컬러 디스플레이 모드에서 팔레트의 적용 가능성은 의문시된다. 이러한 API는 소위 "시스템 팔레트"와 여러 "논리적 팔레트"를 다룬다."시스템 팔레트"는 RAM에 있는 색상 디스플레이의 하드웨어 레지스터 사본으로, 주로 물리적 팔레트이며 시스템의 고유하고 공유되는 공통 리소스이다. 부팅 시에는 기본 시스템 팔레트(주로 대부분의 프로그램에서 잘 작동하는 "마스터 팔레트")로 로드된다.
특정 응용 프로그램이 채색된 그래픽 및/또는 이미지를 출력하려는 경우 자체 "논리적 팔레트", 즉 자체 색상 선택 (최대 256개)을 설정할 수 있다. 응용 프로그램이 화면에 표시하려는 모든 그래픽 요소는 해당 논리적 팔레트의 색상을 사용해야 한다. 모든 프로그램은 추가적인 간섭 (사전에) 없이 하나 이상의 논리적 팔레트를 자유롭게 관리할 수 있다.
출력이 실제로 이루어지기 전에 프로그램은 해당 논리적 팔레트를 ''실현''해야 한다. 시스템은 "논리적" 색상과 "물리적" 색상을 일치시키려고 시도한다. 의도한 색상이 이미 시스템 팔레트에 있으면 시스템은 내부적으로 논리적 색상을 시스템 팔레트 인덱스에 매핑한다 (그것들은 거의 일치하지 않기 때문이다). 의도한 색상이 아직 존재하지 않으면 시스템은 시스템 팔레트에서 가장 적게 사용된 색상 (일반적으로 백그라운드의 다른 창에서 사용되는 색상)을 버리고 새 색상으로 대체하는 내부 알고리즘을 적용한다. 시스템 팔레트에 색상을 위한 공간이 제한되어 있기 때문에 알고리즘은 유사한 색상을 함께 다시 매핑하려고 시도하며 중복 색상을 만드는 것을 항상 피한다.
최종 결과는 화면에 동시에 색상을 표시하려는 응용 프로그램의 수에 따라 달라진다. 전경 창이 항상 우선시되므로 배경 창은 다른 방식으로 동작할 수 있다. 손상되거나 빠르게 다시 그려질 수 있다. 시스템 팔레트가 변경되면 시스템은 모든 응용 프로그램에 알리기 위해 특정 이벤트를 트리거한다. 수신되면 창은 단일 Win32 API 함수를 사용하여 빠르게 다시 그릴 수 있다. 그러나 이것은 프로그램 코드에서 명시적으로 수행되어야 한다. 따라서 많은 프로그램이 이 이벤트를 처리하지 못하고 해당 창이 이 상황에서 손상되는 것이다.
응용 프로그램은 특정 색상 (특정 순서로도)으로 시스템 팔레트를 강제로 로드하여, 애니메이션을 위한 색상 항목 (특정 항목의 물리적 팔레트에서 색상의 빠른 변경)이라고 시스템에 알려줌으로써 시스템을 "속일" 수 있다. 그러면 시스템은 해당 하드웨어 팔레트 항목이 더 이상 팔레트 색상 관리 알고리즘에 사용할 수 없다고 가정한다. 최종 결과는 색상 강제 프로그램의 기술과 다른 프로그램의 동작 (이 문제는 일반적인 경우와 동일하지만)과 운영 체제 자체에 따라 달라진다.
참조
[1]
간행물
Handmade Software's Image Alchemy User's Manual
http://tex.imm.uran.[...]
[2]
웹사이트
RGBQUAD Color Table Entry
http://msdn.microsof[...]
MSDN
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com