전송 프로토콜의 변화 Part.6-코덱과 프로토콜의 차이

방송 제작 분야에서는 종종 코덱과 프로토콜이라는 두 용어가 혼동되어 사용되기도 합니다.

이번 글에서는 이 두 가지 개념을 명확하게 구분하는 방법에 대해 설명하려고 합니다.


코덱과 프로토콜


코덱


코덱

‘코덱‘은 비디오를 압축하고 저장하는 방식을 의미합니다.

우리는 H.264, H.265, HEVC, ProRes와 같은 비디오 코덱에 대해 한번 즈음은 들어본적이 있을 겁니다.

이러한 코덱들은 데이터를 압축하고 저장하는 규칙을 정의합니다.


프로토콜


전송 프로토콜

이전 글에서 RTMP, RTSP, SRT, NDI와 같은 프로토콜의 개념을 간단히 설명한 바 있습니다.

이러한 프로토콜은 즉, 통신 규약에 해당합니다.

프로토콜은 말 그대로 약속이나 규칙을 나타냅니다.

HTTP나 TCP/IP와 같은 우리가 일상적으로 사용하는 것들도 모두 프로토콜의 일종입니다.

이전글에서 살펴본 것처럼, 영상을 전송하는 경우 우리는 다양한 목적으로 영상을 전달하게 됩니다.

이렇게 전달 방식에 대한 구분‘프로토콜‘이라고 합니다.


간단히 말해, ‘코덱’은 ‘데이터를 어떻게 압축할 것인가’를 결정하고,

‘프로토콜’은 ‘데이터를 어떤 방식으로 전송할 것인가’를 결정합니다.


코덱과 프로토콜의 구분


코덱과 프로토콜의 구분

여기 롱패딩을 누군가에게 보낸다고 상상해봅시다.

롱패딩을 그대로 보내려면 상자가 커야할 것입니다.

코덱과 프로토콜의 구분

그래서 이 부피가 큰 롱패딩의 바람을 빼서 아주 조그맣게 만들어 작은 상자에 담았다라고 가정하면

이 부피를 줄이기 위한 압축 과정을 ‘코덱’이라고 설명할 수 있습니다.


이제 우리는 이렇게 만들어진 작은 상자를 택배를 통해 보내게 될 것입니다.

코덱과 프로토콜의 구분

이 과정에서 택배라는 ‘프로토콜’을 이용해서 데이터를 전달하게 됩니다.

정리하자면, ‘코덱’과 ‘프로토콜’은 데이터의 압축 방식과 전송 방식을 나타냅니다.

이렇게 이해하시면 두 가지를 명확히 구분할 수 있을 것입니다.


코덱과 프로토콜의 관계


위와 같이 코덱과 프로토콜에 대해 간단히 설명해 드렸습니다.

이 두 가지 요소는 서로 밀접한 관련이 있습니다.

예를 들어, 택배와 같이 상자 크기에 따라 운송 비용이 결정되는 경우,

이 부피가 큰 롱패딩은 압축하여 보내는 것이 더 효율적일 것입니다.

우리가 택배를 받을 시간에 여유가 있고, 택배를 내일 받아도 무리가 없다면, 우리는 택배 프로토콜을 선택할 것입니다.

그런데 만약, 지금 롱패딩을 받아 곧바로 공항으로 가져가야 할 상황이라면,

롱패딩을 압축해서 작은 상자에 담아야 할까요?

그렇지 않습니다.

코덱과 프로토콜의 관계

이러한 경우에는 빠르게 퀵 서비스와 같은 서비스를 이용하여 패딩을 그대로 받아 공항으로 향할 필요가 있습니다.

이처럼 프로토콜에 따라 코덱의 선택도 달라지는데,

이전글에서 설명한 1, 2, 3단계 전송과 대조해 생각해 보면 더 명확하게 이해할 수 있을 것입니다.


코덱과 프로토콜 선택의 중요성


영상 송출에서


1단계와 2단계, 즉 컨트리뷰션(Contribution) 및 디스트리뷰션(Distribution) 단계에서는 원본 화질의 유지가 중요하다고 강조한 적이 있습니다.

코덱과 프로토콜의 선택의 중요성

이때 사용되는 프로토콜은 주로 RTMP, RTSP 또는 SRT와 같은 것들이며,

화질을 유지하기 위해 H.264나 H.265와 같은 압축 방식을 사용하면서,

약 20~30Mbps 정도의 큰 용량으로 데이터를 전송하게 됩니다.

이는 당연히 고화질을 유지하기 위한 필수적인 조치입니다.


코덱과 프로토콜의 선택의 중요성

그런데 세 번째 딜리버리(Delivery) 단계는 조금 다릅니다.

이 단계에서는 주로 HLS나 MPEG-Dash와 같은 프로토콜이 사용되며,

넷플릭스나 유튜브와 같은 플랫폼 운영자들은 높은 비트레이트로 인해 많은 네트워크 비용을 부담해야 하는 고민을 하고 있습니다


코덱과 프로토콜의 선택의 중요성

딜리버리(Delivery) 단계에서는 일반적으로 HD 기준으로 7~8Mbps로 서비스되며,

사용되는 코덱 또한 이전의 RTMP나 RTSP, SRT에서 사용된 H.264와는 다르게,

유튜브나 넷플릭스와 같은 플랫폼에서는 자체 고유한 코덱(유튜브에서는 VP9, 넷플릭스에서는 AV1)을 많이 사용합니다.

딜리버리(Delivery) 단계에서는 많은 시청자들을 대상으로 하기 때문에 데이터 양을 적게 유지해야 합니다.

따라서 코덱 선택이나 코덱 개발에 대한 고민이 필요할 것입니다.


프로덕션 내부에서


프로덕션 내부에서는 NDI나 SMPTE 2110과 같은 프로토콜을 사용한다고 언급했습니다.


SMPTE2110

그런데 SMPTE 2110과 같은 프로토콜은 비압축을 사용하므로,

압축되지 않은 데이터를 그대로 전송함으로써 용량이 상당히 증가할 수 있습니다.

이는 최상의 화질을 제공할 수는 있지만, 많은 대역폭을 필요로 합니다.


코덱과 프로토콜의 선택의 중요성

한편, NDI는 프로토콜 이름과 코덱 이름이 모두 NDI로 동일하다는 특징이 있습니다.

NDI를 살펴보면 MPEG 압축이 적용되는데, 이렇게 프로토콜과 코덱은 서로 연관되어 있다는 것을 생각하시면 됩니다.


요약하자면, 같은 프로토콜을 사용하더라도 목적에 따라 다양한 코덱을 선택하거나,

반대로 같은 코덱을 다른 프로토콜에서 사용할 수 있습니다.


그리고 코덱과 프로토콜의 명칭뿐만 아니라 대역폭도 중요한 요소입니다.


코덱과 프로토콜의 선택의 중요성

컨트리뷰션(Contribution)이나 디스트리뷰션(Distribution) 단계에서는 큰 대역폭을 사용하여 1:1 전송을 위한 최상의 고화질을 추구합니다.


코덱과 프로토콜의 선택의 중요성

다만, 딜리버리(Delivery) 단계에서는 대역폭을 최소화하여 데이터의 양을 줄이고 네트워크 비용을 절감하려고 노력합니다.


마지막으로 한 번 더 강조하면 프로토콜은 전송 방식을 나타내고, 코덱은 전송 내용을 나타낸다는 점을 기억해두시면 좋을 것입니다.

Leave a Comment