2010년 9월 17일 금요일

[강좌] 05. 15KHz 비디오 신호

올봄에 글을 꾸준히 써본다는게... 최근 3달은 잠잠했군요. ㅎ.ㅎㅋ

 

비디오 신호에 관한 내용을 조금 쓰려고 합니다.

MSX에 한정된 내용이라기보단 그냥 일반적인 비디오 신호 얘기가 될 것 같네요.

 

그럼, 출발~~

 

 

05. 15KHz 비디오 신호

 

아마 RGB 15KHz 등등 15KHz 신호라는 말을 많이 들어 보셨을 겁니다.

물론 잘 알고 계시는 분들도 있겠지만...

비디오 공학 쪽으로 공부를 안해보셨으면, 제대로 알기가 좀 어렵긴 합니다.

 

일단 Hz 라는게 뭔지 알아야겠지요?

자세한 정보는 wiki 를 참고하시고, 간단하게 설명드리면...

Hz 는 주파수의 단위를 나타냅니다.

주파수라는 건 어떤 신호가 1초에 몇번 반복되는지의 빈도를 나타내는 건데요.

 

예를 들어, 1Hz 신호라는건 1초에 1번씩 반복되는 신호를 의미합니다.

그럼, 15KHz 신호는 1초에 15000번 반복되는 신호가 되겠죠?

 

근데 15KHz 비디오는 무슨 신호가 15000번씩 반복되는 것일까요?

그 전에 아날로그 비디오 신호에 대한 이해가 있어야겠지요?

 

아날로그 비디오는 화면 한장(프레임)을 기기간에 전송하기 위해,

색(또는 밝기) 시그널와 싱크 시그널 두가지를 사용합니다.

싱크 시그널라는 건 신호 처리를 위해 쓰이는 보조 신호인데요,

 

현재의 색(또는 밝기)이 영상에서 어디 쯤 위치하게 되는가를 결정하도록 만들게 됩니다.

실제로는 화면의 좌표를 계속 알려주는 건 아니고요.

수평/수직 위치가 초기화(원점 위치)되는 시점을 알려주게 됩니다.

 

요걸  수평 싱크 신호, 수직 싱크 신호라고 말하는데요.

신호의 상태가 HIGH 또는 LOW 두가지 상태를 이용해서 반복되기 때문에,

싱크 신호도 주파수(Hz)의 형태로 표현하게 됩니다.

 

이 쯤 되면, 한가지 의문이 생기는 분들이 계실꺼에요.

왜 비디오 신호 얘기하는데, 해상도는 언급하지 않는 것일까...

LCD 모니터나 그래픽 카드 얘기할때 해상도를 꼭 따지게 되지 않나요?

640x480, 1024x768, 1920x1080 등 주로 수평/수직 해상도만으로 신호 종류를 나타내는데요.

이것들은 사실 정확한 비디오 신호의 종류를 얘기하는게 아니라,

비디오 신호에 포함된 실제 영상 신호는 어떤 해상도를 갖느냐를 나타내는 것으로,

비디오 신호 종류와는 조금 다른 의미입니다.

만약 디지탈 신호로 넘어가게 되면 수평 해상도도 중요한 정보가 되긴하는데요.

일단, 이해가 잘 안되시더라도 지금은 그냥 넘어가세요.

 

다시 15KHz 비디오 신호로 넘어와서...

"15KHz 비디오" 말에는 주파수라는 의미만 들어있지, 실제로 화면에는 어떻게 나오는지 감이 안오죠?

해상도로 표현하면 쉬운데, 주파수로 써놓으면 참 애매합니다. ㅎ.ㅎㅋ

 

여기서 15KHz 라는건 수평 싱크 주파수가 15KHz라는 걸 의미합니다. 그냥 줄여서 15KHz라고 부르는 것이에요.

그리고 한가지 더 생략한게 있는데요.

수직 싱크 주파수는 50Hz 또는 60Hz 라는 정보가 생략된 것이지요.

사실 정보를 빠뜨렸다고 말하긴 애매하고요.

 

좀 더 정확히 말하면,

1. 수평 15734Hz, 수직 59.94Hz 신호와

2. 수평 15625Hz, 수직 50Hz 신호 두가지를 묶어서 표현한다고 보면 되겠습니다.

 

1번은 우리나라, 미국 등에서 주로 쓰이는 NTSC 비디오 신호와 타이밍이 동일하고요.

         (참고로, 수직 싱크는 보통 60Hz로 표기합니다.)

2번은 유럽에서 주로 쓰이는 PAL,SECAM 비디오 신호와 타이밍이 같습니다.

 

참고로 1,2번 모두 V9938, V9958에서 출력되는 신호입니다.

 

그러면, 해상도에 관해 설명을 드리겠습니다.

계속 이해가 안되셨던 분들도 여기서 부터는 쉬울꺼에요. ㅎ.ㅎㅋ

 

1번 수직 싱크 60Hz 신호의 경우.

수평 라인 갯수(수직 해상도)는 15734 / 59.94 = 약 262.5 라인이 됩니다.

2번 수직 싱크 50Hz 신호의 경우는.

수평 라인 갯수가 15625 / 50 = 312.5 라인이 되고요.

 

근데 실제 모니터/TV에 출력할때는 모든 라인을 표현하는게 불가능합니다.

원래 CRT에서 출력되는 걸 고려해서 영상 신호를 넣기 때문에

약 240라인 정도(50Hz의 경우 288라인)만 실제 영상으로 쓰입니다.

(수직 싱크 신호가 발생한 후, 전자총을 화면의 수직 리셋 위치로 바꾸는데 여유 시간을 둔 것이죠.)

 


근데 이마저도 방송국이나 기기에 따라 편차가 있기 때문에,

시작 또는 마지막 라인에서 나올수 있는 노이즈 또는 검색 바탕화면이 나오는걸 막기 위해서,

TV/모니터 등에서는 약 5% 정도는 오버스캔(CRT 밖으로 크게 스캔)을 하게됩니다.

그럼 결국 수직 해상도는 약 220라인 정도 되겠죠.

 

MSX의 VDP인 TMS9918의 경우 192라인(V9938은 모드에 따라 212라인)만 문자/그래픽 표시에 사용되고,

나머지 라인들은 테두리 색으로 표시하도록 되어있습니다.

특히 V9938 이상 모델에서는 ADJUST 기능으로 화면 위치를 조금 조정하는게 가능합니다.

TV/모니터 제조사마다 오버스캔 양이나 영상 시작 위치가 조금씩 다르기 때문에 이를 MSX에서 보정하는 것이지요.

 

여기서 TV/모니터에 쓰이는 기법 한가지를 설명드릴텐데요.

초기에 TV 신호 규격을 처음 만들었을 때, 영상을 빠르게 재현할수 있고,

데이터(신호의 대역폭)는 줄이고, CRT에서 깜박임(플리커)을 최소화 하기 위해

인터레이스 디스플레이라는 방법이 고안되었습니다.

인터레이스라는건 수평 영상 신호를 홀짝 라인으로 나눠서 한번에 반씩 표시/전송하는 걸 의미합니다.

 

앞에서 수직 싱크 60Hz 일때는, 수평 라인수가 전체 240라인 정도라고 했는데요.

실제 NTSC에서는 인터레이스로 구현이 되기 때문에,

원본 영상은 480라인이 되고, 모니터에서는 240라인씩 60번 그려지게 됩니다.

이런 방법은 실용적으로 상당히 효과가 좋은데요.

 

예를 들어,

정지 영상의 경우는 수직 해상도가 480라인이 되는 30프레임 화면이 만들어지고,

빠르게 변하는 동영상의 경우는 수직 해상도 240라인의 60프레임의 화면으로 표시가 되는것이지요.

이때문에 극장에서 24프레임 영상을 보다가, 집에와서 TV의 영상으로 보게 되면

TV가 훨씬 부드럽게 느껴지게됩니다.

물론 모니터에 따라 깜빡임이 심하게 느껴질수도 있습니다.

대우 RGB 모니터가 대표적이죠. ㅎ.ㅎ

 

NTSC,PAL 등의 TV 방송 신호는 모두 인터레이스가 사용되고요.

MSX의 경우는 V9938부터 인터레이스를 쓸수 있습니다.

예를 들어 스크린 7의 경우,

일반 모드(넌인터레이스)는 해상도가 512x212이고, 인터레이스 모드에서는 512x424가 되는 것이지요.

보통 인터레이스 신호인 경우에는 세로 해상도에 i를 붙여서 표기를 하고,

넌인터레이스(프로그래시브)신호는 p를 붙여서 표기합니다.

480i, 1080i, 240p, 480p, 720p 등등

 

그럼 수평 해상도는 어떻게 될까요?

사실 아날로그 영상 신호에서 수평 해상도는 존재하지 않습니다.

원본 신호의 대역폭이 얼마나 넓으냐에 따라 해상도가 결정됩니다.

 

그러니까 다 같은 수평 15KHz 신호인데,

어떤건 수평 해상도가 640이 될 수도 있고, 800이 될수도 1000이 될수도 있는것이지요.

혹시 NTSC가 640x480 또는 720x480의 해상도라고 물으시는 분도 있는데요.

이건 디지털 신호 규격이 나오면서 SD 영상의 해상도를 720x480 또는 720x576으로 정한 것이고,

원래 해상도와는 상관없는겁니다요.

 

근데 수평 해상도는 막~ 높인다고 화면에 다 표시할수 있는건 아닌데요.

컬러 CRT TV/모니터의 경우 구조적으로 RGB 형광 패턴이 수평(또는 삼각형)으로 연속 배열 되어있기 때문에

각 패턴의 갯수보다 높은 해상도를 출력하면 실제 모니터에서는 나타내지를 못합니다.

 

대게 CRT가 크면 해상도가 높아지는데요.

같은 크기의 CRT라도 형광 패턴에 따라 최대 해상도가 다르게 됩니다.

단순하게 CRT 계열은 값이 비싸면 해상도도 좋다고 보시면되죠.

 

MSX 경우는 모드에 따라 수평 해상도가 제각각인데요.

 스크린 0 (80컬럼 모드): 480

 스크린 3 : 64

 스크린 1,2,4,5,8 : 256

 스크린 6,7 : 512

로 되어 있습니다.

 

이런 이유로 인해 15KHz 영상(비디오) 포맷을, 해상도로 표시할때는 아래처럼 나타냅니다.

240p 60Hz, 480i 60Hz, 

288p 50Hz, 576i 50Hz

 

 

마지막으로 컬러 포맷에 대해 조금 더 설명드리겠습니다.

 

앞에서 설명했던 건, 싱크 신호에 의해 결정되는 비디오 종류에 대한 것들이라면...

지금부터는 15KHz 비디오에서 주로 쓰이는 컬러 인코딩에 대한 내용입니다.

 

일단 맨 처음 만들어진 컬러 신호는 아날로그 RGB라고 보시면됩니다.

Red, Green, Blue 세가지 빛의 삼원색의 세기를 전달해서 영상을 만들어내는 것이지요.

 

근데 MSX의 RGB 출력처럼 원래의 아날로그 RGB 신호를 각각 연결하는 것도 있지만,

컴퍼짓 비디오(Composite Video) 처럼 컬러 정보를 압축해서 흑백 영상에 삽입하는 것도 많이 쓰입니다.

대부분 영상 기기에서 노란색 RCA 커넥터로 출력되는 것이 이 컴퍼짓 비디오인데요.

 

컬러 포맷에 따라 주로 NTSC, PAL, SECAM로 인코딩 되어,

영상 신호의 고주파 영역에 같이 전송됩니다. 국가별로 정해져 있습니다.

 

이 때, 어쩔수 없는 컬러 손실이 발생하게 되는데요.

원래 6~8MHz 정도의 대역폭을 갖는 흑백 영상/음성 신호에 컬러 신호(약 2MHz)가 겹치도록 만들기위해 개발된 것이라서

어쩔수 없습니다. (예전에 방송하던 흑백 신호와의 HW 호환성을 갖도록 설계된 것이지요.)

특히 이 색 열화는 공중파 신호의 경우 더 심하게 되고요.

S-Video 처럼 컬러와 흑백 밝기 신호를 분리해서 전송하는 경우는 조금 덜합니다.

컴퍼짓 비디오처럼, 영상의 고주파 영역(고해상도 영역)에 컬러 신호가 겹치는 것을 막기 위해

케이블을 두개로 따로 전송하는 것이죠.

 

원래의 RGB 신호를 그대로 전송하는 경우는 이런 컬러의 열화없이 깨끗하게 볼수가 있습니다.

 

 

끝으로, 15KHz 비디오 신호를 요약하면,

1. 수직 싱크 60Hz 경우(우리나라,일본,미국 등) 240p, 480i 신호를 의미한다.

2. 수직 싱크 50Hz 경우(유럽, 중국 등) 288p, 576i 신호를 의미한다.

3. 영상의 수평해상도는 원본 영상을 만드는 기기에 의해 결정된다. 

4. MSX1의 경우 사용된 VDP 종류에 따라, 수직 50Hz/60Hz가 고정된다.

    MSX2의 경우 VDP 세팅으로 50Hz/60Hz 및 인터레이스/넌인터레이스를 설정할 수 있다.

5. 컬러 포맷은 국가별로 정해져있으며,

   MSX의 경우 모델에 따라 NTSC, PAL, SECAM 세 종류로 고정되어 있다.

 

궁금한 점은 댓글 달아주세요~ ㅎ.ㅎ