티스토리 뷰

컴퓨터 그래픽스

7. Color의 표현

Teus 2021. 2. 16. 08:00
728x90
반응형

지난번 포스팅으로 컴퓨터에서 어떻게 공간을 채색하는지 알아보았습니다.

 

이번 포스팅은 이 채색을 무슨 Color로 하는지에 대한 포스팅입니다.

 

1. Color의 표현

컴퓨터 상에서 한 Pixel마다 Color를 정의할 때 보통 4개의 Element를 이용하며, 대표적으로

1_1. RGB Color Model

현실에서 Red, Green, Blue 3개의 원소를 가지고 표현한 색좌표입니다.

1_2. CMYK Color Model

RGB와 반대로 Cyan, Majenta, Yellow 3가지 색상을 이용하며, RGB Color Model의 값에 Not을 취한 결과와 같습니다.

하지만 이때 CMY 에 추가로 K(key)가 있습니다. Grey의 농도를 조절하는 부분이 추가되어 있습니다.

1_3. HSV Color Model

이 경우 기존의 3차원 좌표와는 약간 다르게 3차원 원뿔 모양의 색좌표를 보여줍니다.

Hue(색조), Saturnation(채도),Value(명도) 3가지 Element를 사용하여 Color를 표현합니다.

 

위 3개의 Model은 표현하는 방법이 다를 뿐, 3개의 Element를 조절해 같은 색을 얻을 수 있습니다.

 

이때 4개의 Element라고 하였는데, 위 3개의 Element + 투명도(alpha)를 포함해 4개의 Element가 됩니다.

색좌표계의 추상화된 3차원 Image Map과 동일한 Color(고려청자색 ㅎ)을 3가지 표현으로 나타낸 결과

 

p.s : 이때 모니터를 보면 8,10,12bit color와 같은 설명을 보신적이 있을겁니다.

 

이는 4개의 각 Element가 몇개의 bit으로 설정할 수 있냐를 의미합니다.

 

만약 8bit이면 Element를 2^8 = 256단계,10bit은 2^10 = 1024단계,12bit은 2^12 = 4096단계

 

로 조절이 가능하단것을 의미합니다. 보다 세밀한 색표현을 통해서 색의 계단현상이 없어진다고 볼 수 있습니다 ^^

 

2. Pixel의 Color를 저장하는 방법

이제 컴퓨터가 Color를 표현하는 방법을 확인 하였습니다.

 

그럼 이제 이 Color를 각 Pixel이 가져야만 최종적으로 화면에 색을 표현할 수가 있게됩니다.

 

이경우(8bit color라고 가정하겠습니다)

1. Pixel마다 3Element에 해당하는 8bit값을 모두 저장하여 각 Pixel에는 24bit의 메모리가 할당하는 방법이 있습니다.

FHD의 경우 24bit * 1920 * 1080 = 약 50Mb = 약 6MB의 메모리 용량을 요구합니다.

각 Pixel의 색좌표를 저장하는 경우

 

2. 다른 방법으로 Pixel에 필요한 색좌표를 미리 저장하고, 해당 색좌표를 Pointing 하는 방법이 있습니다.

8bit*3의 모든 Color를 저장할 경우 약 16Mb = 2MB의 메모리가 필요합니다.

하지만 각 Pixel마다 메모리 주소를 저장해야하기 때문에, 모든 Pixel에 메모리값을 저장한다면

각 Pixel은 결국 24bit의 메모리 주소를 저장해야하기 때문에 큰 Merit이 없어보입니다.

==> 하지만 모든 색좌표를 쓰지않고, 제한된 색좌표를 사용한다면 Color를 저장한 Table의 메모리와

       각 Pixel에 필요한 메모리 주소가 감소하게 됩니다.

Pixel의 색좌표를 주소값으로 받아오는 경우

 

이제 위 둘중 하나의 과정을 통해서 각 Pixel의 Color를 컴퓨터가 알고 있습니다.

 

이제 이걸 Rendering하면, 최종적으로 화면에 이미지가 Display 되어 우리가 볼 수 있게 됩니다 :)

 

 

728x90
반응형

'컴퓨터 그래픽스' 카테고리의 다른 글

9. 2차원 선분 클리핑  (0) 2021.02.22
8. 2차원 뷰잉  (0) 2021.02.17
6. 채색 알고리즘(수정중)  (0) 2021.02.15
5. 기하변환 3(복합기하변환, 아핀변환)  (0) 2021.02.13
4. 기하변환2(동차좌표ver)  (0) 2021.02.12
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함