2.2 래스터 그래픽 장치
Reporting Date: October. 20, 2024
래스터 그래픽과 관련된 개념인
주사선, 인터레이싱 그리고 프레임 버퍼에 대해 다루고자 한다.
목차
01 주사선 (走査線, Scan Line)
레스터 장치는 화소 단위로 디스플레이된다.
화소보다 작은 단위로 분할하여 한 화소의 아래쪽은 밝게, 가운데는 어둡게 할 수는 없다.
즉, 인점의 색이 합쳐져서 하나의 화소 내부 색은 모두 완전히 동일한 밝기로 빛난다고 간주해야 한다.
따라서, 1,024 × 768 해상도에서 주사선 수는 768개가 된다.
(1) 스캐너 (Scanner)
스캐너(입력 장치)에서의 스캔은 영상을 읽는다는 의미이지만,
여기서는 화면 화소를 읽어가면서 전자빔을 쏜다는 의미이다.
레스터 장치의 전자총에서 발사되는 전자빔의 움직임은
왼쪽에서 오른쪽으로, 위에서 아래로 일정한 순서에 따라 움직인다.
이 전자빔은 화면을 빠르게 스캔하면서 각 화소에 도달하고,
화소의 밝기에 따라 전자빔의 세기가 조절된다.
밝은 화소일수록 더 강한 전자빔이, 어두운 화소일수록 약한 전자빔이 사용되며,
이를 통해 화면에 다양한 밝기와 색상이 표현된다.
(2-1) 수평귀환 (Horizontal Retrace)
전자빔이 화면의 한 줄을 스캔한 후 다시 처음 위치로 돌아가는 과정.
전자빔은 화면의 왼쪽에서 오른쪽으로 한 줄씩 스캔하면서 이미지 데이터를 전달한다.
이 과정이 끝나면 전자빔은 스크린의 다음 줄을 스캔하기 위해 화면의 왼쪽 끝으로 되돌아가야 한다.
이 되돌아가는 동작을 수평귀환이라고 하며, 이 기간 동안 전자빔은 꺼져서
스크린에 새로운 정보를 표시하지 않는다.
이를 통해 화면의 한 줄씩 빠르게 스캔할 수 있다.
(2-2) 수직귀환 (Vertical Retrace)
화면의 모든 줄(프레임)을 스캔한 후 전자빔이 다시 화면의 맨 위로 돌아가는 과정.
마찬가지로, 이 과정에서도 전자빔은 일시적으로 꺼져서 화면에 정보를 표시하지 않고,
다음 프레임을 스캔하기 위해 준비를 한다.
전자빔이 스크린에 도달한 뒤, 수평귀환, 수직귀환을 표현한 그림.
이 두 가지 귀환 과정이 반복되면서 CRT 디스플레이는 화면을 순차적으로 스캔하고,
이를 통해 완전한 이미지를 형성하게 된다.
수평귀환은 매 프레임 내에서 매우 빠르게 발생하고, 수직귀환은 매 프레임이 끝날 때마다 발생한다.
02 인터레이싱 (비월주사: 飛越走使, Interlacing)
화면을 두 번에 나누어 갱신하는 방식.
즉, 한 번에 화면의 절반만 갱신하고, 그 다음에는 다른 절반을 갱신하는 방식.
(위 사진이 바로 인터레이싱으로 볼 수 있다.)
주로 텔레비전 방송에서 사용되며, 다음과 같은 방식으로 작동한다.
화면은 홀수 번(1, 3, 5...)과 짝수 번(2, 4, 6...)으로 나뉜다.
첫 번째 스캔에서는 홀수 번째 줄만 표시된다.
이후 두 번째 스캔에서는 짝수 번째 줄을 표시하여 화면을 완성한다.
1080i(인터레이스)는 1,080개의 수평 해상도를 두 번에 나누어 표시하는 방식으로,
첫 번째 스캔에서는 540개 줄을 그린 후, 두 번째 스캔에서 나머지 540개 줄을 그린다.
장점
대역폭을 절약할 수 있어 구형 텔레비전 방송이나
저해상도 디스플레이에서 유용하게 사용된다.
이미지와 영상이 비교적 낮은 대역폭으로 전송되므로,
당시의 전송 기술이나 하드웨어에서 효과적이었다.
단점
화면을 두 번에 걸쳐 그리므로, 모션 블러나 수평 줄무늬 현상이 발생할 수 있다.
빠르게 움직이는 물체나 장면 전환에서 이미지가 깨지는 현상이 생길 수 있다.
03 논인터레이싱 (Non-Interlacing)
또는 프로그레시브 스캔(Progressive Scan)이라고도 불린다.
전체 화면을 한 번에 한 줄씩 그리는 방식.
즉, 화면을 갱신할 때 모든 줄을 동시에 처리하여 완전한 이미지를 빠르게 생성한다.
1080p는 1,080개의 수평 해상도를 한 번에 모두 처리하며, 화면을 한 번에 갱신한다.
모든 줄을 동시에 스캔하므로, 이미지의 선명도와 부드러움이 뛰어난다.
장점
화면을 한 번에 갱신하므로 모션 블러나 수평 줄무늬가 없고, 영상의 품질이 더 높다.
빠르게 움직이는 장면이나 게임에서 더 자연스러운 화면을 제공한다.
단점
화면을 전체적으로 갱신하므로 대역폭과 전송 데이터가 더 많이 필요합니다.
이는 더 높은 해상도에서 부하를 유발할 수 있다.
전체 화면을 초당 30번 재생하도록 요구할 때,
인터레이싱 방식에서는 반쪽 화면을 초당 60번(60Hz)을 주사한다.
논 – 인터레이싱 방식에서는 전체 화면을 초당 30번(30Hz)을 주사한다.
두 방식에서 중요한 점은 시간이 얼마나 걸리는가이다.
즉, 재생 속도에서 차이가 나며, 논 – 인터레이싱 방식이 더 느린 화면 재생 속도를 가진다.
첫 번째 화면과 두 번째 화면 사이의 시간 간격이 길어질 경우,
화면에 깜박거림(Flickering)이 발생한다.
04 NTSC (National Television System Committee)
미국을 포함한 일부 국가에서 사용된 아날로그 텔레비전 방송 시스템의 표준.
1953년에 도입되었으며, 주로 북미, 일본, 남미 일부 지역에서 사용되었다.
흑백에서 컬러 텔레비전으로 전환하는 데 큰 역할을 했으며,
컬러 방송과 흑백 방송이 호환되도록 설계되었다.
(1) HD (High Definition)
1280 × 720(720p) 해상도의 화면.
미국에서 사용되는 표준으로, 1초에 30프레임(29.97fps)을 출력한다.
교차 주사(Interlaced scanning) 방식을 사용하며, 1초의 프레임을 두 번 나누어 출력한다.
(이는 인터레이싱을 의미한다.)
첫 번째 주사선(odd field)을 먼저 쏜다.
그 다음 두 번째 주사선(even field)을 쏘지 않는다.
세 번째 주사선(odd field)을 쏘는 방식을 의미한다.
(2) FHD (Full High Definition)
1920 × 1080(1080p) 해상도의 화면.
이 해상도에서는 각 프레임을 한 번에 모두 출력한다.
즉, 1초에 30프레임을 출력하면서 모든 주사선(전체 화면)을 한 번에 표시하는 방식이다.
(3) PAL (Phase Alternating Line)
주로 유럽, 호주, 아시아 및 아프리카 일부 국가에서 사용된 아날로그 텔레비전 방송 표준.
NTSC 시스템의 색상 불일치 문제를 개선하기 위해 개발되었으며,
NTSC와 더불어 세계에서 가장 널리 사용된 텔레비전 방송 표준 중 하나이다.
1초에 25프레임(25fps)을 제공하며,
인터레이스 방식을 사용하여 화면을 두 번에 나누어 그린다.
현재는 디지털 방송으로 대부분 전환되었기 때문에 거의 사용되지 않는다.
(4) 플리커링 현상 (Flickering)
과거 CRT 모니터에서 플리커링 현상이 발생했다.
이는 화면이 빠르게 깜빡이는 현상으로, 인간 눈에는 일시적으로 깜박거리는 것처럼 보인다.
이 현상은 특히 낮은 주사율에서 발생할 수 있었으며, 화면의 갱신이 충분히 빨리 일어나지 않으면
시간이 필요한 깜빡임이 눈에 띄게 되었다.
05 프레임 버퍼 (Frame Buffer)
각 프레임을 저장하는 메모리 영역으로, 화면에 표시될 픽셀 정보가 저장된다.
비디오 메모리(Video Memory)로도 불린다.
이 메모리에 저장된 픽셀 정보를 GPU가 처리한 후
화면에 최종적으로 렌더링(표시)되는 데이터를 담고 있다.
즉, 래스터화된 최종 화면 정보는 프레임 버퍼에 저장된다.
이때, 각 픽셀의 색상은 컬러 버퍼(Color Buffer)를 참고하여 결정된다.
(1) DA 변환기 (Digital-to-Analog Converter, DAC)
아날로그 신호를 출력하는 오래된 디스플레이 기술에서 중요한 역할을 했지만,
현대의 대부분의 디스플레이 장치(특히 LCD, OLED)는 디지털 신호를 바로 사용하므로,
DA 변환기가 필수적이지는 않다.
다만, 오래된 CRT 모니터와 같은 장비에서는 여전히 필요한 과정이다.
(2) 화면 갱신
화면의 내용은 계속해서 갱신되며,
(정지 화면이더라도 이 과정은 멈추지 않는다.)
GPU가 프레임 버퍼에서 읽어와 화면에 그리는 과정을 지속적으로 반복한다.
이 과정은 매우 짧은 주기로 일어나며,
보통 모니터의 재생 빈도에 따라 결정된다.
즉, 60Hz 모니터라면 프레임 버퍼의 내용을 초당 60번 화면에 뿌려준다.
(화면의 영상은 버퍼의 내용이 변경됨과 거의 동시에 변하게 된다.)
(3) 해상도 문제
소프트웨어에서 설정한 해상도와 실제 장치(하드웨어)의 해상도는
1:1 비율로 대응되도록 해야만 화면에서 정확하게 출력할 수 있으며,
소프트웨어의 설정한 해상도가 낮을 경우,
출력장치(하드웨어)의 해상도가 높더라도 낮은 해상도로 출력된다.
이때 하드웨어에서 화면을 업스케일하거나
소프트웨어에서 해상도를 맞춰 출력할 수 있지만,
원본 해상도가 낮으면 화면이 뭉개지거나 흐릿해질 수 있다.
(4) 프레임 버퍼의 용량 (Capacity)
이 색상은 디스플레이 장치에서 화면에 표시되기 전에 프레임 버퍼에 저장된다.
한 픽셀당 필요한 비트 수
- 각 채널이 8비트로 표현되고, RGB 3채널을 합치면 24비트이다.
- 투명도(알파 채널)를 포함하면 32비트로 확장된다.
해상도당 필요한 비트 수
해상도가 1920 × 1080인 경우, 총 픽셀 수는 1920 × 1080이다.
프레임당 메모리 용량
한 픽셀을 32비트로 표현하므로, 전체 프레임에서 필요한 비트 수는 아래와 같다.
이를 바이트로 변환하려면 8비트는 1바이트이므로
프레임 당 비트 수를 8로 나눠주면 된다.
따라서, 1920×1080 해상도의 한 프레임을 32비트로 표현하려면
약 8.29MB의 메모리 용량이 필요하다.