1.커피가 담긴 컵

커피를 마시려고 카페를 가서 메뉴를 주문하면 반드시 묻는 것이 있습니다. 매장에서 먹고 갈 것인지, 테이크아웃을 할 것인지 말이죠. 그리고 양에 따라 컵의 사이즈도 정해야 합니다. 마실 양과 용도에 따라 머그컵이나 테이크아웃 전용 컵으로 바뀌게될 거예요. 뿐만아니라 귀한 손님이 왔을 때에는 예쁘고 고급스러운 커피잔, 등산을 갈 때에는 튼튼한 텀블러에 커피를 담아가게 됩니다. 이렇게 커피를 내리게 되면 그 내용물은 같겠지만, 어디서 어떻게 마실지에 따라 담는 용기가 달라지게 돼요.

 

그렇다면 이 개념을 그대로 영상에 가져와 볼까요? 생각하는 남자의 장면을 촬영한다고 가정해 보겠습니다. 여기서 촬영된 '남자의 생각하는 장면' 그 자체가 커피가 됩니다. 커피가 어디에 담기는가에 따라서 용도와 보존기간이 바뀌는 것처럼 '생각하는 남자의 영상'도 용도에 따라 다른 형태로 담겨야 그 효용을 발휘할 수 있어요. 여기서 영상을 담아내는 그릇이 바로 '코덱'입니다. 디지털로 존재하는 영상신호를 묶어서 생성하고, 재생하고, 가공하고, 그리고 다시 생성하게 만들어 주는 역할을 해요. 영상 신호를 압축해서 하나의 파일로 만들어내는 것을 '인코딩(Incoding)', 압축된 파일을 다시 풀고 분석해서 우리가 볼 수 있도록 만드는 것을 '디코딩(Decoding)'이라고 합니다. 그리고 인코딩과 디코딩을 합쳐 '코덱(Codec)'이라 부르는 거예요.

 

 

 

2.코덱이 생긴 이유

디지털이 없던 과거에 영상을 필름으로 촬영하던 시절에는 필름이 정말로 중요한 자산이었습니다. 필름의 종류에 따라 이미지의 컨셉과 느낌, 품질이 정해졌기 때문이에요. 그 시절 필름은 촬영에서 엔진이자 동력원이 되는 연료역할을 했습니다. 그래서 촬영 후에 영상이 담긴 필름은 정말 조심해서 다뤄야했고, 필름을 담고 보관하는 케이스 또한 특수하게 설계, 제작됐어요. 원본 필름롤이 외부의 충격이나 빛, 먼지, 습기 등에 의해 조금이라도 변질되면 이미지 품질에 악영향을 끼쳤기 때문입니다. 그리고 원본 필름롤을 복제해서 편집, CG, 현상 등 후반작업을 했고 최종 마스터링된 필름롤이 영화관으로 배달되어 상영 되었습니다. 필름 시대에 영상을 담아내는 코덱은 필름 그 자체라고 할 수 있어요.

 

세월이 흘러 기술이 발전하면서 디지털 카메라가 나왔고, 지금은 이 필름의 역할을 이미지센서가 대신하고 있습니다. 렌즈를 통해 들어온 빛이 이미지 센서에 닿으면, 센서가 반응하여 빛을 전기신호로 바꾼 후 여러 프로세스를 거쳐 디지털 신호로 변환하게 돼요. 그리고 이 디지털 신호들이 바로 코덱에 담겨서 옮겨지고, 재생되고, 가공됩니다. 따라서 코덱은 필름 시대의 필름까지는 아니어도, '필름 케이스' 정도의 역할을 한다고 보면 돼요. 필름에 케이스가 없으면 유지 관리가 전혀 안되는 것처럼, 코덱이 없으면 영상 파일을 절대 올바르게 유지하고 관리할 수 없게 됩니다.

 

 

 

3. 코덱의 요소

디지털 카메라 뿐만 아니라, 그냥 스마트폰으로만 찍어도 영상은 하나의 파일로 존재하기 때문에 코덱은 우리 주변에서 정말 쉽게 발견할 수 있습니다. 영상 파일을 본다는 것은 코덱에 담긴 디지털 이미지 신호를 분석해서 화면으로 출력하고 있다는 것이니까요. 사진이나 영상 모두 하나의 파일로 보이지만, 영상과 같은 멀티미디어를 담고있는 코덱에는 3가지 요소로 구성되어 있습니다.

 

*비디오 코덱: 영상신호를 압축하고 압축 해제를 담당하는 코덱입니다. 영상은 여러장의 이미지를 연속해서 재생하여 보여주는 것인데, 한 장의 이미지를 어떻게 표현할지, 그리고 여러장의 이미지를 어떻게 이어붙여 재생시킬지를 용도에 따라 정하고 처리하는 역할을 합니다. 비디오 코덱의 종류에는 대표적으로 ProRes, DNxHR, H.264 등이 있습니다.

 

*오디오 코덱: 비디오 코덱처럼 오디오 코덱은 소리 신호를 압축하고 해제하는 역할을 합니다. 마찬가지로 압축 비율과 방법에 따라 품질이 달라지고, 그에따라 용도도 달라져요. 오디오 코덱에는 Linear PCM, AAC, FLAC, 그리고 우리가 잘 알고있는 mp3 등이 있습니다.

 

*컨테이너 코덱: 마지막으로 컨테이너 코덱은 비디오와 오디오 코덱에 의해 압축된 데이터들을 하나로 결합하는데 사용되는 코덱입니다. 예를들어 아이스 아메리카노와 생크림 카스테라를 시키면 트레이에 올려져 나오는 것과 같습니다. 커피와 빵을 가지고 이동할 때에는 반드시 트레이 위에 올려놓고 이동하죠. 컨테이너 코덱은 모든 미디어 데이터를 하나의 파일로 만들어 주고, 보통 확장자로 표시됩니다. 대표적인 영상 컨테이너 코덱은 mov, avi, wma, mp4 등이 있습니다. 평소에 많이 접하게 되는 확장자인 jpg, gif, mp3, png 모두 컨테이너 코덱인 것이죠.

 

 

 

4. 코덱의 종류

처음에 코덱을 커피를 담는 컵에 비유해 설명 했었습니다. 내용물의 본질인 커피는 변하지 않지만 커피를 마시는 용도에 따라 담기는 용기가 바뀌게 되는거죠. 아까 나왔던 '생각하는 남자'의 영상도 마찬가지 입니다. 본질적인 '생각하는 남자의 장면' 자체는 변하지 않겠지만 영상의 용도와 목적에 따라 장면을 담는 코덱은 달라질 거예요. 영상 코덱은 크게 촬영용 코덱, 편집용 코덱, 배포용 코덱 총 3가지로 나눌 수 있습니다. 기술이 눈보다 빠르게 발전하면서 지금 이 순간에도 수많은 코덱이 나오고 업데이트 되고 있는데요, 현재까지 나온 모든 코덱을 전부 설명할 수는 없지만 영상을 다루면서 가장 많이 활용되는 것들만 추려보겠습니다. 

 

 

 

4-1. 촬영용 코덱

세상에는 수백가지 종류의 카메라가 있습니다. 그리고 그 카메라를 만드는 수십개의 회사가 있죠. 모든 카메라는 개발 및 출시하는 회사에 따라 그들만의 특징과 기술, 정체성이 들어가 있습니다. 뿐만 아니라 경쟁력과 차별성, 효율성도 가져야 하기에 하이엔드 기종으로 갈수록 독자적인 코덱이 개발되어 카메라에 내장됩니다.

 

촬영용 코덱은 가장 순수하고 정제된 데이터를 저장해야하기 때문에 높은 해상도와 동적범위, 비트뎁스를 담을 수 있고, 데이터의 효율 보다는 품질에 초점을 맞춰 압축할 수 있는 코덱을 사용합니다. 더불어 이미지 센서에서 받은 신호를 최대한 담아서 활용할 수 있도록 저장하는 RAW형식(원시 데이터)에 맞게 개발되기도 해요.

코덱 카메라 설명 비트뎁스 확장자
ARRIRAW Alexa 35
Alexa 
Alexa Mini LF
등 Arri 카메라
ARRI 카메라의 RAW형식에 사용되는 코덱. 최대 16bit .ari
.mxf
REDCODE RAW V-Raptor
Monstro
Helium
KOMODO
등 RED 카메라
RED 카메라의 RAW형식에 사용되는 코덱. 최대 16bit .r3d
X-OCN Venice2
Venice
등 Sony 시네마 라인
Sony 시네마 라인의 RAW형식에 사용되는 코덱. 최대 16bit .mxf
VRAW Varicam PURE Panasonic 시네마 카메라의 RAW형식에 사용되는 코덱. 12bit .vraw
BRAW URSA Mini Pro
BMCC
BMPCC
등 블랙매직 카메라
Black Magic Design 카메라의 RAW형식에 사용되는 코덱. 최대 14bit .braw
Cinema
RAW Light
C500
C300 MarkIII
C200
Cannon 시네마 카메라의 RAW 형식에 사용되는 코덱. 10bit .crm
AVC-Intra Varicam 35
Varicam LT
Panasonic에서 개발한 고화질의 비디오를 효율적으로 압축하기 위한 코덱. H.264의 압축기술을 기반으로 한다. 10bit
최대 12bit
.mxf
XF-AVC C200
C300
C500
Cannon에서 개발한 고화질 비디오를 압축하기 위한 코덱.
AVC-Intra와 마찬가지로 H.264를 기반으로 한다.
최대 10bit .mxf
XAVC FX9
FX6
FX3
등 Sony 카메라
Sony에서 개발한 고화질 비디오를 압축하기 위한 코덱 10bit
최대 12bit
.mxf

 

 

 

4-2. 편집 및 마스터링/매개 코덱

촬영용 코덱은 최대한 많고 정제된 데이터를 가급적이면 효율적으로 저장할 수 있어야 합니다. 하이엔드 카메라로 갈수록 품질을 최우선으로 생각해서 개발되죠. 하지만 편집용 코덱은 품질보다 재생효율이 우선이 되어야합니다. 낮은 사양의 컴퓨터에서도 멈춤없이 재생 되어야하고, 한참 편집을 하다 다른 지점으로 헤더가 움직이더라도 즉시 그 장면을 띄울 수 있어야 해요. 이는 곧 컴퓨터가 영상을 읽어들일 때 그만큼 연산을 덜해야 한다는 것인데, 이후에 설명할 Intra 방식에서 자세히 알아보도록 하겠습니다.

 

편집용 코덱은 품질이 다소 떨어지더라도 재생효율만 좋으면 그 목적을 달성했다고 할 수 있어요. 만약 편집용 코덱의 압축 방식에 품질까지 우선된다면 이는 마스터링 코덱으로 이어지게 됩니다. 마스터링 코덱은 내가 작업하고 있는 수준에서 손실없이 가장 높은 품질로 출력할 수 있는 코덱을 뜻해요. 마스터링 코덱으로 출력하게 되면 데이터의 손실이 거의 없기 때문에 원본처럼 사용할 수 있는데, 편집에서 VFX나 색보정과 같은 다른 후반 작업의 영역을 넘나들며 연결 시켜준다고 하여 매개코덱이라 불리기도 합니다. 편집/마스터링 코덱은 ProRes, DNxHR 딱 두가지 라인업만 알고 있으면 됩니다.

코덱 라인업 설명 비트뎁스 비트레이트
ProRes Proxy ProRes는 애플에서 개발한 비디오 코덱으로, 편집 및 마스터링으로 많이 사용됩니다. 경우에 따라 촬영용으로도 사용되며 Arri, Red, Sony 등 많은 하이엔드 카메라에서 실제로 적극적으로 사용되고 있습니다.

주황색 라인은 품질대비 재생효율을 높인 편집용 코덱,
파란색 라인은 HD(2K)영상을, 보라색 라인은 UHD(4K) 영상을 정상적인 품질로 보기 위한 마스터링 코덱입니다.

*비트레이트는 HQ까지는 HD, 4444부터는 UHD에 30p 기준으로 작성하였습니다.
8bit 45Mb/s
LT 10bit 100Mb/s
Normal 10bit 150Mb/s
HQ 10bit 220Mb/s
4444 12bit 1300Mb/s
4444XQ 12bit 2000Mb/s
코덱 라인업 설명 비트뎁스 비트레이트
DNxHR LB DNxHR은 Avid에서 개발한 비디오 편집 및 마스터링 코덱입니다. 이전에 있었던 DNxHD 시리즈의 후속작으로 더 높은 해상도와 비트뎁스, 다이나믹레인지 등을 커버하기 위해 나왔습니다.

이하 위에 설명했던 ProRes와 같은 기준에서 작성하였습니다.
8bit 50Mb/s
SQ 8, 10bit 170Mb/s
TR 8, 10bit N/A
HQ 8, 10bit 250Mb/s
HQX 12bit 900Mb/s
444 12bit 1800Mb/s



 

다음은 매개코덱으로 주로 사용되는 이미지 시퀀스 코덱들입니다. 이들은 VFX와 협업하며 소스를 주고받거나 2차 가공을 하는 경우에 사용합니다. 이들은 영상의 길이에 따라 하나의 폴더 안에 실제 1장의 이미지로 존재합니다. 예를들어 30p로 2초 짜리 영상이라면 60장의 이미지가 있는 것이죠.

코덱 설명 비트뎁스
DPX 고품질 이미지를 무손실 압축으로 저장하기 위해 SMPTE에서 개발했습니다. 주로 DCP 혹은 VFX 작업을 위해 많이 사용되고 있어요. 8bit
10bit
12bit
16bit
TIFF DPX와 마찬가지로 고품질 이미지를 무손실 압축으로 저장하기 위해 Adobe에서 개발했습니다. 8bit
16bit
EXR 고품질 이미지와 더불어 HDR(High Dynamic Range) 이미지를 저장하기 위한 파일형식 입니다. HDR을 위한 파일포맷이므로 훨씬 더 높은 해상도와 색범위를 저장할 수 있습니다. 16bit
32bit
64bit
(float)

 

 

 

4-3. 배포용 코덱
배포용 코덱은 내가 만든 영상을 프리뷰하거나, 메일이나 카톡으로 가볍게 전달해야할 때 주로 사용됩니다. 배포용 코덱을 사용해서 출력하면 용량은 드라마틱하게 줄어들지만 품질은 생각보다 봐줄만합니다. 편집용 코덱과 완전히 다른 압축 방식을 가지고 있기 때문에 품질대비 압축률은 매우 좋지만 재생효율은 현저히 떨어집니다. 그리고 프록시된 편집용 코덱에 비해 비교적 품질이 좋을 수는 있으나, 품질에 있어서 마스터링용 코덱을 대체하기는 어렵습니다. 따라서 배포용 코덱은 비교적 봐줄만한 화질로 저용량의 파일로 출력해야할 때 사용해야 해요. 배포용 코덱에도 여러 종류가 있지만, 가장 널리 보편적으로 쓰이는 2가지만 알고 있으면 됩니다.

코덱 설명 비트뎁스
H.264(AVC) 현재 가장 널리 사용되는 압축 코덱 중 하나입니다. 드라마틱한 압축이 되면서도 좋은 품질의 비디오를 얻을 수 있는 배포용 코덱의 가장 대표적인 코덱이라 할 수있습니다. 8bit
H.265(HEVC) H.264의 후속 코덱으로, H.264가 HD 해상도에 초점을 맞춰 개발 되었다고 하면, H.265는 UHD 이상의 해상도를 겨냥했다고 할 수 있어요. 당연히 이전 기술에 비해 훨씬 더 고압축, 고품질의 성능을 갖고있고 그에 따라 더 복잡한 처리 과정이 들어가 있습니다. 10bit

 

 

 

5. 현명하고 똑똑한 영상 제작을 위하여

높은 품질을 가지는 코덱이라고 해서 항상 좋은 것은 아닙니다. 반대로 용량이 작고 가벼운 파일이라고 해서 후반 작업에 퍼포먼스를 낼 수 있는 것도 아니죠. 코덱은 디지털 영상으로 만드는 모든 과정에 필요합니다. 그에 따라 코덱의 종류와 특성, 그리고 용도를 알고 있으면 내가 만드는 영상 프로젝트에 가장 이상적이고 효율적인 파이프라인을 만들 수 있어요. 용도에 맞는 코덱의 종류와 특성을 아주 일부만 확실하게 알고 있어도 작업 속도와 결과물이 달라질 것이고, 기술적으로 생기는 많은 문제에 대해 즉각적으로 대응할 수 있습니다. 저도 10년 전에 공부했던 코덱 공부가 저의 성장과 발전에 정말 큰 도움을 주었다고 확신해요. 

 

코덱이 영상을 압축하는 방식에 대해 더 알고싶다면 아래링크를 꼭 참고하시면 좋겠습니다.
(공간압축과 시간압축에 대하여)

+ Recent posts