반응형

MPEG-DASH 소개

728x90
반응형

Dynamic Adaptive Streaming over HTTP (DASH)는 ISO 표준(ISO/IEC 23009-1)으로 개발된 HTTP Adaptive Streaming의 한 종류입니다.

Adaptive Streaming은 'Adaptive'라는 말에서 알 수 있듯이 클라이언트는 자신의 단말기 쪽 네트워크 상황에 맞추어 적절한 비디오 화질을 선택하여 서비스를 받을 수 있는 기술입니다.


2008년부터 HTTP 기반의 Adaptive Streaming에 대한 이슈가 MPEG(Moving Picture Expert Group;동영상 전문가 그룹)에서 뜨거웠습니다. MPEG는 향후에 이 기술이 기존의 Streaming 서비스 환경에 크게 영향을 줄 것으로 예상했고, MPEG에서는 DASH(Dynamic Adaptive Streaming over HTTP)라는 그룹을 만들어 관련된 Streaming Package 포맷에 대한 표준화를 시작했습니다. 


기존에 회사마다 이와 관련된 기술들이 있었는데 예를 들면,


Adobe의 HTTP Dynamic Streaming

Apple의 HTTP Live Streaming (HLS)

Microsoft 의 Smooth Streaming


등이 있었습니다. 이러한 기술들은 80% 정도는 동일한 기술이었지만 전혀 호환이 되지 않고 있었습니다. 그래서 표준화를 진행한 것이기도 합니다. 현재 YouTube가 1080p 이상 화질의 동영상을 MPEG-DASH 형태로, 비디오와 오디오 스트림을 따로 제공하고 있습니다.



DASH의 기본 동작은 다음과 같습니다.


DASH 서버에서는 비디오 콘텐츠를 각기 다른 비트 rate를 갖는 여러 버전으로 인코딩 한 다음, 인코딩된 비디오 데이터를 작은 세그먼트(또는 chunck)단위로 분할해 둡니다. 이 세그먼트들이 DASH 클라이언트의 요청에 따라 전달이 되는데, DASH 클라이언트에서는 자신의 상황에 따라서 비트 rate 적용 알고리즘을 수행하여 네트워크의 가용 대역폭을 계산하고 그 결과를 토대로 다음 비디오 세그먼트의 비트 rate를 결정합니다. 즉, DASH 클라이언트의 비디오 플레이어가 현재 단말 네트워크의 상태 및 QoE를 고려하여, 적절한 비디오의 화질을 선택하여 서비스 하도록 한다는 것입니다.


DASH는 다음과 같은 두가지 요소가 있습니다.


  • MP(Media Presentation)
    1. 오디오/비디오는 하나의 파일로 묶을 수도 있고 (HTTP Live Streaming 처럼)
    2. 각각의 파일로 분리될 수도 있습니다. (Smooth Streaming 처럼)
  • MPD(Media Presentation Description)
    1. 스트림의 정보를 나타내는 XML 입니다.

DASH는 MP4 포맷과 MPEG-2 Tranport Stream을 지원하며, DRM을 명시하지는 않았으나 ISO/IEC 23001-7: Common Encryption 표준에 명시된 모든 DRM 기술을 지원합니다.

또한 재생 이동, 빨리 재생, 되감기 등의 trick 모드를 지원합니다. 그리고 광고 삽입 역시 지원합니다.


그러나 DASH에게도 문제점이 있습니다. 우선 중요한 협력자인 Adobe와 Apple의 지원이 부족하다는 점입니다. 그리고 로열티 무료가 불확실해서 Mozilla와 같은 단체의 지원을 받지 못합니다. 다행히 Google이 지원의사를 밝혔기 때문에 언급한 문제점 몇가지가 해결될 전망입니다.



728x90
반응형

댓글

Designed by JB FACTORY