알서포트 기반기술팀 채범석 수석연구원

알서포트 채범석 수석연구원
알서포트 채범석 수석연구원

[아이티데일리] 코로나19 팬데믹으로 화상회의가 재조명 받으면서 다양한 제품이 쏟아져 나왔다. 덕분에 국내외 주요 화상회의 제품들은 기술과 성능 측면에서 상향평준화됐다. 1:1 중심의 전화와 같은 음성 기반, 또는 메신저 등과 같은 텍스트 기반의 커뮤니케이션 도구와 달리 음성과 영상을 동시에 기반으로 하는 화상회의 제품은 기술의 각축전이라 해도 과언이 아니다. 한편, 이들 제품의 기술 경쟁 사이에는 ‘웹RTC(WebRTC)’라는 용어가 자주 등장한다.

웹RTC는 기본적으로 일대일(peer to peer, 이하 P2P) 미디어 통신(secured real time media transport) 기술의 세계 표준이지만, 다자간 화상회의나 방송 스트리밍 등에도 이용할 수 있다. 하지만 P2P 방식으로 다수 인원의 데이터 송수신을 지원할 경우 클라이언트 쪽의 과부하가 심해지기 때문에 이때는 미디어 서버를 사용하게 된다.

이 글에서는 다자간 화상회의 구현 방법으로 앞서 말한 P2P 방식과 미디어 서버 활용 방식을 차례로 살펴보는 한편, 이들 방식의 장점을 살리고 단점은 보완하여 하이브리드 미디어 서버(Hybrid Media Server)를 구현한 방법을 소개한다.


화상회의 아키텍처, 무엇이 어떻게 다른가

다자간 화상회의 구현 시 사용하는 일반적인 아키텍처는 크게 3가지로 구분된다.


1. 메시(Mesh)

미디어 서버를 사용하지 않는 P2P 통신을 이용한 아키텍처다. 각 참가자는 자신의 비디오와 오디오를 모든 참가자에게 개별적으로 보내고 또한 모든 참가자에게서 개별적으로 비디오와 오디오를 받게 된다.

[그림 1] 메시 아키텍처 개념도
[그림 1] 메시 아키텍처 개념도

■ 장점: 중간에 거치는 서버가 없으므로 지연시간(latency)이 거의 없고, 각 클라이언트에서 레이아웃(layout)을 자유롭게 할 수 있다. 3인 이하의 연결에서는 좋은 성능을 보인다.

■ 단점: 클라이언트에서 미디어 스트림을 n-1개 인코딩(encoding)하고 n-1개 디코딩(decoding)해야 하므로, 회의 성능이 클라이언트의 CPU나 GPU 성능에 좌우된다. 특히 스마트폰처럼 저사양(low end) 디바이스의 경우, 720p 기준 4인 이상이 회의 시 성능을 보장하기 어렵다. 네트워크 연결 개수도 n명의 참가자가 있는 경우 n²개의 연결이 필요하게 되어 참가자가 많을수록 연결 개수는 기하급수적으로 늘어나게 된다.


2. SFU(Selective Forwarding Unit)

SFU라고 불리는 중앙 서버에서 특정 클라이언트에서 받은 미디어 스트림을 다른 참여자들에게 릴레이하는 방식의 아키텍처이다. 각 참여자는 자신의 비디오와 오디오를 SFU서버로 보내고 다른 참여자들의 각각의 비디오와 오디오를 SFU서버에서 받게 된다.

[그림 2] SFU 아키텍처 개념도
[그림 2] SFU 아키텍처 개념도

■ 장점: 클라이언트와 서버가 CPU/GPU 사용을 나눔으로써, 참여자 7~10 클라이언트 이하의 사용자 환경에서 품질이 좋은 다자간 회의 성능을 제공할 수 있다. 레이아웃을 클라이언트 마음대로 구성할 수 있으며, 서버에서의 인코딩 또는 디코딩이 필요하지 않아 MCU(Multi-point Control Unit)에 비해 GPU 사용의 부담이 적다.

■ 단점: 클라이언트는 보내기용 1개의 미디어스트림 인코딩과 n-1개의 디코딩을 해야 하므로, 참여자가 증가할수록 디코딩 수가 증가하여 저사양 디바이스의 경우 여전히 7인 이상의 회의에 성능을 보장하지 못한다. 서버의 경우 n*(n-1)의 스트림(stream)을 처리해야 해서 참여자가 증가할수록 기하급수적으로 CPU 사용량이 증가하며 회의 품질이 떨어질 수 있다. 또한 n*(n-1)개의 스트림을 주고받아야 하므로 참여자가 증가할수록 네트워크 트래픽 또한 기하급수적으로 증가한다.


3. MCU (Multi-point Control Unit)

MCU라고 불리는 중앙 서버에서 각 참가자로부터 미디어를 수신하고 디코딩한 다음, 각 참가자의 오디오와 비디오를 단일 스트림으로 혼합(mixing)하여 각 참가자에게 보내는 방식의 아키텍처다. 각 참여자는 자신의 오디오와 비디오를 MCU 서버에 보내고, 모든 참가자의 비디오와 오디오가 혼합된 한 개의 오디오와 비디오를 받게 된다.

[그림 3] MCU 아키텍처
[그림 3] MCU 아키텍처

■ 장점: 클라이언트는 보내기용 1개의 미디어 스트림을 인코딩하고 혼합된 1개의 미디어 스트림을 디코딩하므로 CPU의 부담이 적어진다. MCU의 경우 SFU와 비교해 네트워크 트래픽이 일정하므로, 참여자가 증가해도 네트워크 트래픽은 리니어(linear)하게 증가해 네트워크 부하가 적다. 또 서버에서 디코딩한 미디어를 이용하여 부가 기능(예를 들어 computer vision, speech analytics, media recording)을 제공할 수 있게 된다.

■ 단점: MCU 서버에서는 트랜스코딩(transcoding)은 없다고 가정하더라도 n개의 미디어 스트림을 디코딩하고 1개의 혼합된 미디어 스트림을 인코딩하는 작업이 필요하게 되며, 이런 미디어 스트림의 인코딩/디코딩에 사용되는 CPU/GPU로 인한 서버 비용이 증가하게 된다. 서버에서 정해진 미디어 레이아웃을 사용하므로 클라이언트에서 레이아웃 구성을 변경할 수 없게 된다.


화상회의 아키텍처도 하이브리드가 대세

대표적인 국산 화상회의 제품인 알서포트의 ‘리모트미팅(RemoteMeeting)’은 자체 개발한 AMS(Advanced Media Server) 아키텍처를 적용하고 있다. AMS는 SFU, MCU, 그리고 메시의 장단점을 모두 고려하여 설계한 다자간 화상회의에 최적화된 하이브리드 아키텍처다.

[그림 4] 알서포트 화상회의 ‘리모트미팅’에 적용된 AMS 아키텍처
[그림 4] 알서포트 화상회의 ‘리모트미팅’에 적용된 AMS 아키텍처

■장점: SFU의 단점을 없앴기 때문에 20인 이상의 다자간 화상회의에서도 안정적인 회의 품질을 보장한다. 클라이언트에서는 1개의 보내기용 미디어 스트림 인코딩, 주 화면 받기 용 미디어 스트림과 혼합된 PIP 미디어 스트림 2개를 디코딩하므로 CPU의 부담이 적다. 1개의 주 화면과 PIP용으로 레이아웃을 할 수 있다. 서버에서는 네트워크 트래픽이 일정하므로 네트워크 부하가 적다. 그 밖에도 서버 녹화, 얼굴 인식 등의 부가기능을 제공한다.

■단점: MCU 서버 방식과 마찬가지로 서버 비용이 증가한다.

알서포트의 화상회의 제품 ‘리모트미팅’에 적용된 AMS는 각 참여자로부터 미디어 스트림을 받고, 주 화자의 미디어 스트림은 SFU 방식으로 각 클라이언트에 릴레이하고 모든 참여자의 영상을 혼합하여 각 클라이언트에 전달한다. 각 클라이언트는 주 화자의 미디어 스트림과 혼합된 미디어 스트림을 각각 받아 고화질의 주 화자 영상과 PIP형식의 혼합된 미디어로 레이아웃을 구성한다. 또 1:1의 경우 서버 녹화가 필요 없을 때에는 서버를 거치지 않고 P2P로 각자의 미디어 스트림을 주고받아 처리한다.

이를 통해 리모트미팅은 참여자(사용자)에게 최고의 화상회의 품질을 제공한다. 특히 7인 이상의 다자간 화상회의라면 리모트미팅으로 안정적인 협업이 가능하다. 또한 모바일로도 화상회의에 참여할 수 있어 누구나, 언제 어디서나 리모트미팅을 통해 안정적이며 효과적인 커뮤니케이션이 가능하다.

저작권자 © 아이티데일리 무단전재 및 재배포 금지