2023. 1. 19. 16:02ㆍMultimedia
- 목차
streaming protocol에는 HLS, MPEG Dash, Smooth play등이 있습니다. 반면에 여러 해상도, 프래임레이트, 퀄리티로 인코딩하여 전송하는 프로토콜로 SVC(Scalable Video Coding)이 있습니다.
SVC가 있는데, 왜 streaming protocol이 필요할까요?
streaming protocol은 재생 목적으로 최적화된 protocol 입니다. 즉, 전송단에서는 여러 resolution/bit-rate 별 stream들을 따로 encoding 한 후 이들 stream들을 chunk 단위로 잘라서 저장합니다. 이후 clinet 측의 bandwidth와 같은 제약에 따라 적절한 stream chunk를 선택하여 전송합니다.
SVC는 모든 resolution들을 하나의 bit stream으로 전송하기 때문에, 위와 같이 재생을 위한 목적으로 사용하게 될 경우 불필요하게 더 많은 데이터를 얻어야 합니다. 예를들어 480p와 1080p 두 개의 layer로 구성된 stream의 경우 1080p를 전송받기 위해 base layer의 480p도 함께 전송 해야 합니다. 1080p 자체의 stream을 받는 것보다 데이터 량이 많을 뿐만 아니라, layer간의 참조에 의한 복잡성 (시간) 등에 의한 overhead가 발생합니다.
대신 SVC는 한번에 여러 해상도로 encoding할 수 있으므로, 실시간 영상 대화 등의 기술을 구현하고자 할 때 주로 사용됩니다.
'Multimedia' 카테고리의 다른 글
ICC Profile (0) | 2023.07.18 |
---|---|
Color format (0) | 2023.02.02 |
SVC vs. Simulcast (0) | 2023.01.19 |
H.264 SVC (Scalable Video Coding) (0) | 2023.01.19 |
ffmpeg pixel formats (0) | 2023.01.17 |