TV영상제작 추가 설명

영상과 음향에서 코덱(Codec)이란 무엇인가?

정구언 교수 2013. 12. 25. 10:45

 

  우리가 디지털 영상과 음향에서 많이 사용하는 코덱(CODEC)이란 무엇인가?

  코덱(CODEC)이란 각종 문서나 오디오, 비디오를 압축하거나 해제하는 규약으로 압축기(Compressor)와 해독기(De-compressor)를 사용해 송수신할 수 있는 방법을 말한다. 아날로그 시절 R,G,B 영상신호를 컴포지트(Composite) 영상신호로 바꿔 주는  것은 Encoder 또는 Coder라 했고 컴포지트 신호를 R, G. B로 되돌려 놓는 것을 Decoder라 했다. 즉 암호화 하는 것은 Encoder라 하고, 암호를 해석해 내는 것을  Decoder라 한다.

  코덱은 영상 또는 음향의 아날로그신호를 디지털신호로 변환하는 코더(Coder)와 디지털신호를 영상 또는 음향의 아날로그 신호로 환원하는 디코더(Decoder)의 합성어(Co+Dec)로 부호기와 복호기의 역할을 동시에 수행하는 장치라고 할 수 있다.

  우리가  아날로그의 약점을 디지털로 보완해서 사용하는 시대에 살고 있다. 마치 아날로그 시대는 가고 디지철 시대가 온 것 같지만 우리가 알 수 있는 아날로그를 송수신하면서 어떻게하면 손실이 가장 적은 방법을 택할 수 있을까 하는 하나의 방법에 속한 것이 디지털이다. 그런데 그 과정에 있는 디지털을 더욱 유효하게 사용해 보자는 것이 코덱이다. 그 방법 중 기초가 되는 몇가지를 소개한다. 

 

1. 시간적 중복성을 이용한 압축

 TV 영상을 보면 1초당 30(Frame)씩 연속적으로 변화를 갖고 있다. 따라서 이 매우 빠른 속도로 변화를 갖지 않는다면 서로 인접한 영상 간에는 시간적으로 많은 중복된 영상을 갖게 된다. 이 시간적 중복성을 이용하여 압축하는 방법을 프레임 간() (Interframe) 압축이라고 한다.

  다시 말하면 1초당 30장의 그림을 연속적으로 전송해야 할 것을 연속된 프레임이나 필드 사이에 변화된 내용만을 축출하여 보내주고 공통된 데이터와 같이 사용한다면 상당한 전송 정보량을 줄일 수 있다.

  이러한 방법이 있다면 완벽한 영상의 전달을 할 수 있게 된다. 왜냐하면 중복되는 정보량은 전송할 필요가 없기 때문이다. 그러나 정적인 영상의 시간적 중복성을 이용한 압축방식에서 별문제가 없지만 빠르게 움직이는 영상의 정보 전달은 늦어져 부자연스럽게 되고 전송 중 오류가 발생하기 쉬워 전혀 다른 프레임 전달이 될 수 있다. 이를 연속 프레임 간에 이루어진다고 해서 프레임 간 압축(Interframe Compression)이라고 한다.

이 압축 기술은 연속적인 프레임 사이의 차이를 계산해서 휘도(Y)색차신호(r-y, b-y)의 정보를 전달한다. 휘도(Y)신호는 4개의 정보 블록과 색차신호 각각 2개의 정보 블록으로 샘플링하여 4:2:2로 정의하고 있다.

 

2. 공간적 중복성을 이용한 압축

  영상화면의 한 프레임 중에는 많은 양의 공간적 중복성을 갖고 있는 경우가 많다. 파란 하늘, 흰 종이와 같이 어느 일정한 블록(8×8) 부분의 색상과 밝기는 동일하다. 따라서 이 부분을 구성하고 있는 화소(Pixel)들은 공간적으로 연관되어 있다. 이 화소들의 블록을 비교하여 동일한 휘도와 색차신호의 정보를 모두 보낼 필요가 없기 때문에 첫 번째 정보만 보내고 몇 번 반복되는지 그 정보만 보내면 된다.

  복잡한 수학연산인 DCT(Discrete Cosine Transform)는 그 데이터 블록의 각 화소 값들을 시간영역에서 주파수영역으로 변환시킨다. 그 변화과정은 블록 내의 화소들 사이에 존재하는 연관성을 이용한다. 중간과정의 설명을 생략하고 결과적으로 서로 인접한 부분에 변화가 거의 없으면 주파수변환 후에 낮은 주파수 항들이 생성된다.

  반면 변화가 심한 부분을 포함하는 부분은 주파수영역에서 높은 주파수 항이 많이 나타난다. 여기까지는 데이터의 어떠한 감소도 발생하지 않고 있으며, 다만 수학적인 연산에서 필수 불가결한 반올림에서 오는 손실밖에 없다.

디지털화하는 과정 중에 양자화가 필요한데 실제 데이터 감소가 일어난다. 아날로그로 구성된 영상의 밝기는 많은 단계로 표시되겠지만 인간 시각으로 약 256단계 정도의 표현이면 충분하다고 한다. 따라서 DCT 과정의 출력 계수를 부호화하는데 필요한 값의 범위는 정해진 수의 단계로 제한될 수 있다. 간단한 예로 어떤 영상의 주파수영역으로 변환된 결과가 1.75, 3.42, 7.98 등이면 이들 집합을 만들 때 반올림하여 2, 3, 8 등으로 집합하여 양자화 한다면 더 적은 정보로 전달될 수 있다.

  결론적으로 연속된 영상들 사이에 중복되는 데이터를 빼고 그 차이만을 전송한다. 이러한 압축은 여러 프레임을 비교한 것이 아니고 1프레임 내에서 생성되므로 프레임 내() 압축이라 한다.

 

3.  통계적 중복성을 이용한 압축

  TV 영상화면에는 규칙적으로 반복되는 정보가 상당히 많이 포함되고 있다. 따라서 디지털신호에서는 아날로그의 Line Blanking, Field Blanking 신호를 전송할 필요가 없어 전송 데이터양이 줄 수 있으며, 동기를 위하여 Line 동기, Frame 동기를 표시하는 코드만 전송하게 된다. 그 외에도 여러 가지 DCT, 양자화 등에서 만들어지는 데이터의 같은 값이 빈번하게 일어난다. 예로 영문자를 전송할 때 가장 빈도수가 많은 E자를 가장 짧은 bit(점 하나)로 부호화할 수 있다면 전송 데이터를 줄일 수 있다. 이러한 방법이 통계적 중복성을 이용한 압축 기술이다.

  소니 회사에서는 DCT(Discrete Cosine Transforms)를 베이스(Base)로 새로운 압축 기술을 채용하고 있다. 처음에 한 장의 그림을 격자() 모양으로 구획을 정하고 만들어진 블록(Block) 하나하나를 압축할 단위로 한다. 이 작은 블록은 영상의 밝기와 색의 강약으로 되어 있으며, 영상의 종 방향과 횡 방향 각각의 파형집합으로 표시할 수 있다. 영상의 정보는 시간적인 변화로 표현하는 방법과 여러 가지 주파수와의 합성으로 표현하는 방법이 있으며, 시간영역의 표현으로부터 주파수영역의 표현으로 변환(Transform)하는 것이 DCT이다. 이렇게 영상을 DCT 처리를 함으로써 원래화소의 레벨 표현이 주파수 성분마다 계수 값으로 변환된다.

  이렇게 되면 영상은 상당히 낮은 주파수에 해당하는 성분이 대부분이고 높은 주파수 성분의 에너지는 극히 적은 것을 알 수 있다. 따라서 고역 주파수 성분을 저역 주파수 성분보다 거칠게 표현하여도 인간의 눈은 시각 특성상 그 차이를 분별하기 어렵다. 이와 같은 특성을 이용하여 고역성분의 분해를 낮게 억제하는 것이 1 단계 압축이다.

2 단계 압축은 데이터의 압축이다. 얻어진 데이터 중 가장 많이 나타나는 데이터의 전송을 가장 작은 값의 신호로 처리한다. 우리가 영문에서 가장 많이 사용되는 글자가 ‘E’라 하고, 가장 적게 사용되는 글자는 ‘Q’라고 한다. E자 정보는 가장 간단한 비트신호를 사용하고, Q자 정보는 가장 큰 비트신호로 처리한다면 전체적인 신호처리 속도를 높일 수 있다. 영상에서도 같은 원리를 적용하여 전체 데이터양을 억제할 수 있다.

  대략적인 설명이지만 이것이 DCT에 의한 압축이다. 동일한 영상을 압축한 것을 다시 압축했을 때 완전히 일치하도록 하고 있어 몇 번의 더빙(Dubbing)을 실행하여도 화질의 열화가 생기지 않는다.

  위에 열거한 디지털 압축방식을 제외하고 그 방법은 수 없이 많다. 그리고 계속해 새로운 압축방법이 개발되고 있다.

 

  * 앞서 설명으로도 이해하기 어려울 것 같다. 쉽게 일예를 들으면 영상의 한 화면이 순 black라고 한다면 모든 픽셀(Picxel)은 디지털로 0일 것이다. 전송할 때 디지털 0을 200만개 계속 보내지 않고 0이 200만개라고 한 번 보내면 받는 쪽에서 0을 200만개 늘어놓아 black 영상 한 화면을 표시할 수 있다. 

    

오늘날 그 코덱의 발전과정에서 여러 가지 방법 중 몇가지 소개한다.

 

1.  MPEG-1

  Color의 동영상 화면을 압축하는 제 1세대 표준방식으로 CD-ROM, DAT, Hard Disk 1.5Mbps 정도의 전송 Rate를 갖는 디지털 기록매체로 사용하기 위한 부호화 표준이다.

MPEG(Moving Picture Experts Group): 동영상연구전문가그룹

 

2..   MPEG-2

  이 규격은 방송이나 통신 분야에서 활용되는 동영상 디지털압축 표준이다.

SDTV용으로 많이 활용된다. 비트 레이트는 약 4.9 Mbps. NTSC720 x 486, PAL720 x 576도 여기에 포함된다.

 

3 .  MPEG-4 : H.264/AVC

 H.264/AVC는 디지털 동영상 압축 기술이다. H.264ITU-T의 규격 이름이고, AVCMPEG-4Advance Video Coding을 의미한다.

이들은 H.264/AVC, AVC/H.264, H.264/MPEG-4AVC, MPEG-4AVC/ H.264 등 여러 가지로 표현되고 있다.

H.264는 한국의 지상파/위성 DMB TV, KTIPTV, 유럽의 DVB-H, 그리고 HD-DVD, Blu-ray 등도 이 압축방식을 사용한다.

 

4.   AVCHD(Advanced Video Codec High Definition)

소니와 마쓰시다 회사가 HDTV로 촬영되는 카메라 규격을 AVCHD20065월 규정했다. 물론 H.264/AVC 형식이다. MPEG-2를 사용하는 HDV보다 더 좋은 영상의 압축률을 갖고 있다.

 

5. HEVC(High Efficiency Video Coding) : H.265/HEVC

HEVC/H.265 코덱은 현재 많이 사용하고 있는 H.264 코덱보다  압축율이 2배가 된다. 이 기술은 2007년 우리나라 카이스트(KAIST) 대학 김문철 교수의 특허다. 지금 사용되는 지상파 방송의 MPEG-4보다 압축효율이 4배정도 된다. 따라서 UHDTV방식으로 송수신을 할 수 있는 방법으로 떠올랐다. UHDTV 방송이 원활하게 시작될지는 의문이지만 일반 폐쇄회로에서는 활발히 사용될 수 있는 압축방식이다.