개발 · 컴퓨터공학 / / 2021. 9. 27. 16:14

컴퓨터 그래픽스 - 래스터 그래픽 장치

728x90
반응형

컬러 모니터

모니터 크기는 화면 대각선 길이 기준으로 n인치로 표현한다. 회면 종횡비(Aspect Ratio)는 화면의 가로 세로 비율이다. 현재는 디스플레이마다 3:4, 9:16 등 다양하다. 래스터 장치에서 화면은 화소(pixel)로 구성되며, 래스터(Raster)는 화소를 말한다.

위 그림에서 (a)는 트라이어드(Triad) 방식인데, 삼각형 내부 3개의 인점이 모여 한 화소를 구성한다. 인점을 그림과 같은 삼각형으로 그리면 역삼각형과 삼각형이 엇갈려 그려진다. 

(b)는 스트라이프(Stripe)방식으로 나란한 3개의 인점이 한 화소를 이룬다. 일반적으로 LCD 모니터가 이 방식이다.

 화소의 개수로 인해서 래스터 장치의 해상도(Resolution, Definition)가 결정된다. 가로 세로가 1024×768 해상도라면 1024는 가로화소, 768은 세로화소이다. 화면에 넣을 수 있는 인점의 수에 따라서 화소의 수가 결정된다. 동일한 색의 인점 사이의 거리를 도트 피치(Dot Pitch)라고 하는데, (a)의 화살표가 도트 피치이다. 일반적으로는 0.27~0.44mm 정도이다.

 

 각각의 인점의 반지름을 줄여 크기당 들어가는 인점의 수를 늘리면 화소가 늘어나겠지만, 이는 집속 양극이나 수평 · 수직 편향판, 전자총을 쏘았을 때 빛이 원하는 점이 아닌 주변의 인점을 밝히거나 하는 등 하드웨어적인 문제를 모두 해결해야하므로 까다롭다. 

 

 컬러 모니터에는 전자총이 RGB 세 개가 사용되고, 전자총과 화면 사이에 섀도 마스크(Shadow Mask)가 있는데, 여기의 미세한 구멍을 통과한 빛만이 화면에 전달도록해서 인점에 딱 맞게 빛이 전달되도록 한다. 만약 빛이 인점에 들어맞지 않고 휜다면 다른 인점을 자극하게 되므로 섀도 마스크는 화면의 선명도와 연관된다. 섀도 마스크는 인점이 트라이어드 방식일 경우에 사용한다.

 전자총이 스트파이프 형태인 경우 애퍼쳐 그릴(Aperture Grill)을 사용하는데, 섀도 마스크 방식의 경우 많은 양의 빛을 차단하지만, 애퍼쳐 그릴에서는 창살의 아래 위 방향으로 대량의 전자빔이 통과할 수 있어 더 밝고 선명한 영상을 얻을 수 있다.

 

주사선과 인터레이싱

래스터 장치는 화소 단위로 디스플레이 되므로, 인점의 색이 합쳐서 나온 하나의 색은 동일한 밝기(세기, 강도, Intensity)로 빛난다고 간주한다. 화면의 가로 방향 화소를 따라 진행하는 선을 주사선(Scan Line)이라고 하며 1024×768 해상도에서 주사선은 768개이다. 

래스터 장치에서 전자총이 발사하는 빔은 일정한 순서로 상하 / 좌우 움직이며 화소마다 필요한 밝기만큼의 세기로 빛을 쏘고 지나간다. 영상은 해당 화소들의 집합으로 표현된다. 따라서 주사선이 화면에 영상을 뿌리려면 화소 색상에 해당하는 밝기세기로 인점에 빔을 쏘는 것이다.

위 그림의 경우 해상도가 18×7인 화면이다. 주사선이 위에서 부터 1~7까지있다. 주사선은 특정 때 홀수 번 짝수 번 따로 주사하는데, 위 그림을 통해 보면 1번 주사선을 왼쪽에서 오른쪽으로 비스듬히 내려오며 화소별로 주사한 후, 3번을 왼쪽에서 오른쪽으로, 5번 7번 순으로 주사한 후 화면의 오른쪽 아래로 내려온다. 전자빔은 다시 2번 주사선의 왼쪽으로 가서 4번 6번을 주사함으로써 비로소 하나의 그림이 출력된다.

 여기서 주사선의 오른쪽 끝에서 주사선의 왼쪽으로 주사하지 않고 돌아가는 것을 수평 귀환이라고 하고, 위 그림 7번의 경우와 같이 주사선이 오른쪽 아래에서 왼쪽 상단으로 주사하지 않고 이동하는 것을 수직 귀환이라고 한다. 

 

 위와 같이 주사선이 화면을 반쪽씩 그려내는 것을 인터레이싱(Interlacing)이라고 한다. 전체 화면을 주사하는 것을 논-인터레이싱(Non-Interlacing)이라고 한다. 전체 화면의 30번의 재생을 위해서는 인터레이싱에서는 반쪽 화면을 60번, 논-인터레이싱에서는 전체 화면을 30번 주사해야하는데, 이에 대한 하드웨어의 부담은 비슷하다.

 보통 재생 속도의 중요성 때문에 인터레이싱을 권장하고, 주사 속도가 느린 경우 화면이 깜빡거리는 Flickering이 발생한다.

래스터 장치의 기본 구조

래스터 장치의 화면은 사각형 모양의 화소로 나타내기 때문에 위와 같이 선이나 삼각형을 나타내려해도, 화소단위로 근사화해야하기 때문에 경계부분이 거칠게 보이는 에일리어스(Alias)가 나타난다.

때문에 기하학적인 표현을 화소 단위의 표현으로 변환하는 스캔 변환(Scan Conversion) 또는 래스터 변환(Rasterization)이 필요하다. 이 과정에서 어떤 화소를 얼마나의 밝기로 줄지를 구한다.

 

래스터 장치의 화면 그림은 프레임 버퍼(Frame Buffer)에 저장되어있고, 이는 컬러 버퍼(Color Buffer) 또는 비디어 메모리(Video Memory)라고도 한다. 이는 그래픽 프로세서 안에 내장되어있고, 화소당 밝기, 즉 색상을 저장한다. 위 그림의 경우 화소당 1비트를 할애하여 0인 경우 흑색, 1인 경우 백색을 나타낸다. 뿌릴 그림에 대한 화소 정보는 프레임 버퍼에 담겨있고, 화면에 뿌리는 역할은 비디오 컨트롤러가 한다. 

 색상의 종류가 다양하려면 프레임 버퍼의 용량이 커야한다. 화소당 1비트의 경우 흑백으로 밖에 표현하지 못하지만, 화소당 3비트를 할애하면 각 비트를 RGB 값으로 해석하여 표현 가능하다. 이 때 1비트 프레임 각각을 비트 평면(Bit Plane)이라고 한다.

위 그림 (b)와 같이 R,G,B 각각에 3비트씩 할애하면 각 색상당 000~111까지의 범위로 세분화 가능하고, 이 밝기를 회색도(Gray Level)이라고 한다. 

 화소당 24비트를 할애한 프레임 버퍼는 R,G,B 각각에 8비트를 할애하며 밝기의 범위가 0~255까지이다. 모든 색상의 경우의 수는 256^3 인 1,600만 이상이 되는데, 일반적으로 육안으로 35만 가지의 색을 구분가능하므로 이 경우 풀 컬러라고 칭할 수 있다.

프레임 버퍼의 용량이 결과적으로 해상도에도 영향을 미치며, 1024×768의 그림에 화소당 24비트를 할애하면 프레임 버퍼의 용량은 1024×768×24bit로 대략 2.4MB가 된다.

728x90
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유