다자간 영상 서비스에서 사용하는 비디오 코덱은 구조적으로 3가지 형태로 구분할 수 있다.
- Single Layer
- Scalable Coding
- Simulcasting
Single Layer 는 하나의 스트림에 하나의 레이어를 인코딩하여 전송하는 방식이며, Saclable Coding 은 하나의 스트림에 다양한 레이어(다양한 해상도, 프레임, 화질)를 인코딩하여 전송하는 방식이고 Simulcasting 은 하나의 영상을 두 개(or 이상)의 스트림에 다른 해상 해상도로 인코딩해서 전송하는 방식이다.
Scalable coding 과 Simulcasting 방식은 Vidyo 사가 명명한 SFU(Selective Forwarding Unit) 서버를 구성하는데 활용한다.
SVC
- 계층적으로 미디어 정보를 인코딩 한다.
- 단일 스트림으로 영상을 송출한다.
- 수신 측도 SVC 코덱을 지원해야 한다.
Simulcast
- 클라이언트에서 다양한 해상도로 인코딩을 한다.
- 인코딩한 영상 수만큼 네트워크 대역을 사용한다.
- 수신자 환경에 맞는 적절한 해상도의 영상을 바로 볼 수 있다.
- 다자간 영상 송수신보다는 일방향 서비스에 더 효율적이다.
Simulcast VS. SVC
- SVC 가 Simulcast 보다 영상 복원력이 높다.
- Simulcast 가 SVC 보다 많은 대역폭을 필요로 한다.
- Simulcast 가 SVC 보다 클라이언트 CPU 자원 소모가 심하다.
- SFU 서버를 좀 더 효율적으로 구성하기 위해서는 Scalable 코딩을 사용하는 것이 좋다.
구분 | Single Layer | Simulcast | Scalable Coding |
지원 코덱 | VP8 VP9 H.264 |
Simulcast VP8 Simulcast SVC |
H.246 SVC Scalable VP9 |
영상 품질 : Single Layer < Simulcast < Scalabe Coding
'딴 생각하는 공대생 > 일상 ᕙ(•̀‸•́‶)ᕗ' 카테고리의 다른 글
아듀 2020, 웰컴 2021 (0) | 2021.01.01 |
---|---|
네이버 웨일 통합 플랫폼을 향한 여정의 시작 (0) | 2020.12.23 |
WebRTC 미디어 연결 방식 (MCU, SFU, P2P) (0) | 2020.12.16 |
[재택 근무] 3 주차 (0) | 2020.12.14 |
[기록] SW품질에도 신의 한 수가 있다. - 모바일 품질 향상을 위한 Sprint 운영 전략 및 사례 (0) | 2020.12.10 |