코덱(codec)이란 무엇일까?

 영상을 다루다 보면 코덱이라는 단어를 많이 들어 보거나 접해 보았을 것입니다.  

코덱이란 영상장비에서 촬영된 영상을 전송하기에는 파일 사이즈가 너무 커지므로 용량이 큰 파일을 작게 만들어주는 과정이 꼭 필요 한데 이것이 바로 인코딩이라고 합니다. 인코딩 된 이미지를 그냥 볼 수 없습니다. 본래대로 재생할 수 있게 압축을 푸는 기술을 디코딩이라고 합니다. 압축을 하고 또 압축을 푸는 하나의 프로그램을 코덱(codec)이라고 합니다. 


 우리는 코덱에 대해서 개념 중에서 코덱에 대한 흐름만 알고 있어도 영상 편집에는 큰 문제가 없을 것입니다. 이번 포스팅에서는 코덱에 대한 어원, 종류를 다루기보다는 코덱에 대한 큰 개념만 집어 보고 넘어가겠습니다.

특히 베가스 강좌를 봐주시는 분들은 꼭 한번 읽어 보시길 권장합니다. 앞으로 진행될 베가스 렌더링 과정에 많은 도움이 될 것입니다.



 코덱(codec)이란 무엇일까? 

 MPEG MP4 등의 용어는 많이 들어 보셨을 겁니다. 동영상 파일 포맷을 나타내는 확장자이며, 파일의 포맷에 따라 지원되는 압축방식이 바로 코덱입니다. 그렇다면 코덱에 따른 압축 방식도 다르겠죠? 맞습니다. 코덱에 따라 압축 방식이 다르기 때문에 재생을 원한다면 그에 맞는 코덱 프로그램을 설치를 해야 합니다.

(코덱마다 인코딩, 디코딩 알고리즘 자체가 다르다고 생각하시면 됩니다.)


저는 압축 방식을 크게 2가지로 나누어 보았습니다.

MJPEG와 H.264 방식입니다. 2개의 코덱을 선택한 이유는 하나는 이미지 압축 방식(MJPEG)을 따르고 있고, 다른 하나는 비디오 압축 방식을 따르고 있기 때문입니다.

그럼 두 코덱에 대해서 살펴보면 큰 도움이 될 것입니다.


1. MJPEG

MJPEG는 이미지 압축 방식이라고 이야기 드렸습니다. 아래 그림 한번 보세요.

5장의 사진으로 이루어진 영상입니다.


2. H.264

H.264는 비디오 압축 방식입니다. (위 MJPEG 코덱과 비교 한번 해서 보세요.)


3. 두 방식에는 큰 차이점을 볼 수 있습니다. 

 MJPEG의 경우 처음부터 끝까지 자동차와 배경을 꾸준히 담아내고 있는 반면, H.264 코덱의 경우 첫 번째만 배경을 담고 나머지는 자동차의 움직임만을 기록하는 방식입니다.

그렇다면 어떻게 될까요?

MJPEG : 압축된 데이터 크기는 다른 코덱에 비해 클 수밖에 없습니다.

H.264 : 비디오를 구성하는 프레임간 차이 데이터만 압축하는 방식을 사용하고 있습니다. 차이만 압축을 하므로 압축되는 데이터 크기가 이미지 압축방식보다 작습니다. (MPEG-4 동일)

※ 배경 이미지를 저장하지 않아 데이터 감소를 기대할 수 있음.


또 다른 차이점도 볼까요?


질문. 3번째 이미지에 손상이 있다면 어떻게 될까요?


MJPEG : 프레임 손실이 있을 때 영상 손실이 적을 수 있습니다.


H.264 : 프레임 간 연계성을 가지고 있어 프레임 손실이 있는 경우, 연계가 있는 프레임들은 재생을 할 수 없는 단점이 있습니다.


이미지 압축 방식과, 비디오 압축 방식에 대해서 살펴보았습니다. MJPEG, H.264 뿐만 아니라 다양한 코덱이 존재합니다. 매우 많죠?^^

코덱 종류 : Divx, Xvid, MPEG, INDEO, Quick Time, FLV, DV, MP4, H.263, MPEG-4, M-JPEG 등

 이번 포스팅에서 다양한 코덱의 특성에 대해서 살펴볼 수는 없었지만, 코덱을 이해함에 있어 조금이나마 도움이 되었으면 좋겠습니다.

다음 시간에는 비트 레이트(Bit rate), 프레임 레이트(Frame rate) 등에 대한 이야기를 이어가겠습니다.

감사합니다.

반응형

이 글을 공유하기

댓글

Designed by JB FACTORY