반응형
250x250
Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

멋진 개발자가 되고 싶다

[video streaming] MPEG-DASH 이해하기 본문

video streaming

[video streaming] MPEG-DASH 이해하기

오패산개구리 2021. 7. 7. 16:14
728x90
반응형

[이 글은 아래 링크를 참고하여 작성되었습니다]

 

https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6077864&tag=1 

 

The MPEG-DASH Standard for Multimedia Streaming Over the Internet

MPEG has recently finalized a new standard to enable dynamic and adaptive streaming of media over HTTP. This standard aims to address the interoperability needs between devices and servers of various vendors. There is broad industry support for this new st

ieeexplore.ieee.org

 

 

인터넷을 통해 올림픽 생중계를 시청하고 계십니까? 좋아하는 TV 쇼의 지난주 에피소드를 게임기로 스트리밍 하시겠습니까? 휴대전화로 24시간 뉴스 TV 채널을 시청하고 계십니까? 이러한 사용 사례는 이미 일상생활에서 가능해 보일 수 있습니다. 사실, 2008년 올림픽 동안 NBC는 인터넷을 통해 3.4페타바이트의 비디오 콘텐츠를 전달했다고 보도했습니다. 그러나 진실은 인터넷을 통한 멀티미디어 스트리밍은 잠재적인 시장에 비해 아직 초기 단계에 있다는 것입니다. 한 가지 이유는 오늘날 모든 상용 플랫폼은 고유한 매니페스트 형식, 콘텐츠 형식 및 스트리밍 프로토콜을 갖춘 폐쇄형 시스템이기 때문입니다. 즉, 다양한 공급업체의 장치와 서버 간에 상호 운용성이 존재하지 않습니다. 최근 연구는 비디오 콘텐츠가 인터넷 트래픽의 대부분을 차지할 수 있다는 것을 보여주었습니다. 이를 가능하게 하는 주요 요인 중 하나는 다양한 서버와 장치 간의 상호 운용성을 제공하는 채택된 표준입니다. 콘텐츠와 서비스의 공통 생태계가 PC, TV, 노트북, 셋톱 박스, 게임 콘솔, 태블릿 및 휴대폰과 같은 광범위한 장치를 프로비저닝 할 수 있기 때문에 이러한 상호 운용성을 달성하는 것은 시장 성장에 매우 중요합니다. MPEG-Dynamic Adaptive Streaming(DASH)은 바로 이를 위해 개발되었습니다.

 

 

HTTP streaming

인터넷을 통한 비디오 컨텐츠 제공은 1990년대에 시작되었으며, 적시에 많은 양의 데이터를 전달하고 소비하는 것이 주요 과제였습니다. 인터넷 엔지니어링 태스크 포스의 Real-Time Transport Protocol (RTP)은 낮은 오버헤드로 그러한 패킷을 전달할 수 있도록 하는 스트림 세션 관리와 함께 오디오 및 비디오 콘텐츠를 위한 패킷 형식을 정의하기 위해 설계되었습니다. RTP는 관리되는 IP 네트워크에서 잘 작동합니다. 그러나 오늘날의 인터넷에서는 관리되는 네트워크들은 대부분 RTP 스트리밍을 지원하지 않는 CDN(Content Delivery Network)으로 대체되었습니다. 게다가 RTP 패킷은 방화벽을 통과할 수 없는 경우가 많습니다. 결국, RTP 스트리밍은 서버가 각 클라이언트에 대해 별도의 스트리밍 세션을 관리해야 하므로 대규모 배포 리소스를 많이 사용하게 됩니다. 인터넷 대역폭의 증가와 월드 와이드 웹의 엄청난 성장으로 인해, 작은 패킷으로 오디오나 비디오 데이터를 제공하는 것의 가치가 떨어졌습니다. 이제 HTTP를 사용하여 보다 큰 세그먼트에서 멀티미디어 컨텐츠를 효율적으로 제공할 수 있습니다.

 HTTP 스트리밍에는 여러 가지 이점이 있습니다. 첫째, 인터넷 인프라는 HTTP를 효율적으로 지원하도록 발전했습니다. 예를 들어 CDN은 지역화된 에지 캐시를 제공하여 장거리 트래픽을 줄입니다. 또한 HTTP는 거의 모든 방화벽이 나가는 연결을 지원하도록 구성되었기 때문에 방화벽과 호환됩니다. HTTP 서버 기술은 상용 기술이기 때문에 수백만 명의 사용자에게 HTTP 스트리밍을 지원하는 것이 비용 효율적입니다. 둘째, HTTP 스트리밍을 통해 클라이언트는 서버에서 세션 상태를 유지할 필요 없이 스트리밍을 관리합니다. 따라서 다수의 스트리밍 클라이언트를 프로비저닝하더라도 표준 HTTP Web 사용 이상의 서버 리소스 추가 비용이 발생하지 않으며, CDN에서 표준 HTTP 최적화 기술을 사용하여 관리할 수 있습니다.

 이러한 모든 이유로, HTTP 스트리밍은 상용 배치에서 인기 있는 접근 방식이 되었습니다. 예를 들어 Apple의 HTTP Live Streaming, Microsoft의 Smooth Streaming, 및 Adobe의 HTTP Dynamic Streaming과 같은 스트리밍 플랫폼은 모두 HTTP 스트리밍을 기본 제공 방법으로 사용합니다. 그러나 각 구현에서는 서로 다른 매니페스트 및 세그먼트 형식을 사용하므로, 각 서버에서 콘텐츠를 수신하려면 기기가 해당 독점 클라이언트 프로토콜을 지원해야 합니다. 멀티미디어 콘텐츠의 HTTP 스트리밍 표준을 사용하면 표준 기반 클라이언트가 모든 표준 기반 서버에서 콘텐츠를 스트리밍할 수 있으므로 서로 다른 벤더의 서버와 클라이언트 간에 상호 운용이 가능합니다.

 MPEG는 시장의 전망과 업계의 요청을 관찰하여 2009년 4월에 HTTP 스트리밍 표준에 대한 제안 콜을 발표했습니다. MPEG가 제출된 기술에 대한 평가를 시작했을 때인 2009년 7월까지 15개의 전체 제안서가 접수되었습니다. 이후 2년 동안 MPEG는 많은 전문가들의 참여와 제3세대 파트너십 프로젝트(3GPP)와 같은 다른 표준 그룹의 협력을 통해 사양을 개발했습니다. HTTP 기반 MPEG-DASH로 알려진 결과 표준은 현재 Draft International Standard 단계에 있습니다. 이 문서를 발행할 당시에는 공개적으로 참조된 초안만 사용할 수 있습니다. 이 규격은 2011년 8월에 추가로 개정되었으며 ISO/IEC 23009-1로 발행될 예정입니다.

 

그림 1

 

A simple case of adaptive streaming

그림 1은 온디맨드 동적 적응형 스트리밍의 간단한 예를 보여줍니다. 이 그림에서 멀티미디어 콘텐츠는 비디오 및 오디오 구성 요소로 구성됩니다. 비디오 소스는 5MB, 2MB 및 초당 500 kbps의 세 가지 다른 비트 전송률로 인코딩 됩니다. 또한 프레임률이 낮은 I-프레임 전용 비트 스트림이 트릭 모드 재생 중 스트리밍을 위해 제공됩니다. 함께 제공되는 오디오 콘텐츠는 두 가지 언어로 제공됩니다. 오디오 1은 더빙된 영어 버전으로 서라운드 사운드, 128KB 및 48 Kbps의 고급 오디오 코딩(AAC)으로 인코딩 된 반면, 오디오 2는 AAC 128 Kbyte 및 48 Kbps의 대체 언어만 인코딩 된 프랑스어 버전입니다. 예를 들어 장치가 서라운드 오디오를 지원하지 않기 때문에 비디오 비트 스트림 세그먼트를 최고 품질(5MB)로 요청하고 영어 오디오를 128KB AAC로 요청하여 콘텐츠 스트리밍을 시작한다고 가정합니다(그림 1의 라벨 1). 비디오와 오디오의 첫 번째 세그먼트를 스트리밍하고 유효한 네트워크 대역폭을 모니터링한 후, 기기는 실제 사용 가능한 대역폭이 5 Mbps 미만임을 인식합니다. 따라서, 다음으로 사용 가능한 전환 지점에서, 128 Kbyte AAC 영어 오디오의 스트리밍을 계속하면서 중간 품질의 트랙으로부터 다음 세그먼트를 스트리밍함으로써 비디오의 속도를 2 Mbps로 낮춥니다 (그림 1의 라벨 2). 이 장치는 실제 네트워크 대역폭을 계속 모니터링하며 네트워크 대역폭이 2 Mbps 미만의 값으로 감소했음을 인식합니다. 따라서 연속 재생을 유지하기 위해 장치는 스트림을 500 Kbps 비디오 및 48 Kbps 오디오로 추가로 전환합니다(그림 1의 라벨 3). 네트워크 대역폭이 증가하고 비디오가 최대 2MB로 전환될 때까지 이러한 속도로 콘텐츠를 계속 재생합니다(그림 1의 라벨 4). 잠시 후 사용자는 일시 중지했다가 되감기로 결정합니다. 이때, 장치는 오디오가 음소거되는 동안 비디오를 역순으로 재생하기 위해 트릭 모드 트랙에서 비디오를 스트리밍 하기 시작합니다(그림 1의 라벨 5). 원하는 지점에서 사용자가 클릭하면 원래의 프랑스어 오디오로 콘텐츠를 재생할 수 있습니다. 이때 장치는 최고 품질(5MB)의 비디오 스트리밍과 128KB의 프랑스어 오디오의 오디오 스트리밍을 재개합니다(그림 1의 라벨 6). 이 예는 아마도 멀티미디어 콘텐츠의 동적 스트리밍의 가장 간단한 사용 사례 중 하나일 것입니다. 좀 더 발전된 사용 사례로는 여러 카메라 뷰 전환, 3D 멀티미디어 콘텐츠 스트리밍, 자막과 캡션을 포함한 비디오 스트림, 동적 광고 삽입, 짧은 지연 시간 라이브 스트리밍, 혼합 스트리밍 및 사전 저장된 콘텐츠 재생 등이 있습니다.

 

 

그림 2

 

Scope of MPEG-DASH

그림 2는 HTTP 서버와 DASH 클라이언트 간의 간단한 스트리밍 시나리오를 보여줍니다. 이 그림에서 멀티미디어 콘텐츠는 HTTP 서버에 캡처 및 저장되며 HTTP를 사용하여 제공됩니다. 콘텐츠는 다음 두 부분으로 서버에 존재합니다. 사용 가능한 콘텐츠의 매니페스트, 다양한 대안, URL 주소 및 기타 특성을 설명하는 MPD(Media Presentation Description)와 실제 멀티미디어 비트 스트림을 단일 또는 여러 파일로 포함하는 세그먼트입니다. 콘텐츠를 재생하려면 먼저 DASH 클라이언트가 MPD를 가져옵니다. MPD는 HTTP, 이메일, 썸 드라이브, 브로드캐스트 또는 기타 전송을 사용하여 전송할 수 있습니다. MPD를 구문 분석함으로써 DASH 클라이언트는 프로그램 타이밍, 미디어 컨텐츠 가용성, 미디어 유형, 해상도, 최소 및 최대 대역폭, 멀티미디어 구성 요소의 인코딩된 다양한 대안, 내게 필요한 기능 및 DRM(Digital Rights Management), 네트워크의 미디어 구성 요소 위치 및 기타 내용 특성에 대해 학습합니다. 이 정보를 사용하여 DASH 클라이언트는 인코딩된 적절한 대안을 선택하고 HTTP GET 요청을 사용하여 세그먼트를 가져와 컨텐츠 스트리밍을 시작합니다. 네트워크 처리량 변동을 허용하는 적절한 버퍼링 후 클라이언트는 후속 세그먼트를 계속 가져오고 네트워크 대역폭 변동을 모니터링합니다. 측정값에 따라 클라이언트는 다른 대안(낮은 비트 전송률 또는 높은 비트 전송률)의 세그먼트를 가져와 적절한 버퍼를 유지하는 방식으로 사용 가능한 대역폭에 적응하는 방법을 결정합니다. MPEG-DASH 규격은 MPD와 세그먼트 형식만 정의합니다. 세그먼트를 포함하는 MPD 및 미디어 인코딩 형식 제공뿐만 아니라 가져오기, 적응 휴리스틱 및 컨텐츠 재생에 대한 클라이언트 동작도 MPEG-DASH의 범위를 벗어납니다.

 

그림 3

 

Multimedia Presentation Description

동적 HTTP 스트리밍을 사용하려면 서버에서 멀티미디어 콘텐츠의 다양한 비트 전송률 대안이 필요합니다. 또한 멀티미디어 콘텐츠는 각각 다른 특성을 가질 수 있는 여러 미디어 구성 요소(예: 오디오, 비디오 및 텍스트)로 구성될 수 있습니다. MPEG-DASH에서 이러한 특성들은 XML 문서인 MPD에 의해 설명됩니다.그림 3은 MPD 계층적 데이터 모델을 보여줍니다. MPD는 하나 이상의 period로 구성되며, period는 시간 축을 따르는 프로그램 period입니다. 각 period는 시작 시간과 지속 시간을 가지며 하나 이상의 Adaptation set으로 구성됩니다. Adaptation set는 하나 이상의 미디어 구성 요소와 다양한 인코딩 된 대체 미디어 구성 요소에 대한 정보를 제공합니다. 예를 들어 Adaptation set에는 동일한 멀티미디어 컨텐츠의 다양한 비디오 구성 요소 비트 전송률이 포함될 수 있습니다. 또 다른 Adaptation set에는 동일한 멀티미디어 콘텐츠의 다양한 오디오 구성 요소 비트 전송률(예: 저화질 스테레오 및 고화질 서라운드 사운드)이 포함될 수 있습니다. 각 Adaptation set에는 일반적으로 여러 개의 대표성(representation)이 포함됩니다.

 대표성은 동일한 매체 구성요소의 인코딩된 대안으로써 비트 전송률, 해상도, 채널 수 또는 기타 특성에 따라 다른 대표성과 다릅니다. 각 대표성은 하나 이상의 세그먼트로 구성됩니다. 세그먼트는 시간 순서의 미디어 스트림 청크입니다. 각 세그먼트에는 URI, 즉 서버의 주소 지정 위치, 즉 HTTP GET 또는 바이트 범위의 HTTP GET를 사용하여 다운로드할 수 있습니다.

 이 데이터 모델을 사용하려면 먼저 DASH 클라이언트가 MPD XML 문서를 구문 분석합니다. 그런 다음 클라이언트는 MPD의 설명 요소, 클라이언트 기능 및 사용자 선택에 따라 사용할 대표성 세트를 선택합니다. 그런 다음 클라이언트는 타임라인을 작성하고 적절한 미디어 세그먼트를 요청하여 멀티미디어 콘텐츠를 재생하기 시작합니다. 각 대표성의 설명에는 세그먼트에 대한 정보가 포함되어 있어 각 세그먼트에 대한 요청을 HTTP URL 및 바이트 범위 측면에서 구성할 수 있습니다. 실시간 프레젠테이션을 위해 MPD는 세그먼트 가용성 시작 시간 및 종료 시간, 대략적인 미디어 시작 시간, 세그먼트의 고정 또는 가변 지속 시간도 제공합니다.

 

 

Segment format

 멀티미디어 콘텐츠는 세그먼트의 모음으로 액세스 할 수 있습니다. 세그먼트는 DASH 클라이언트의 HTTP GET 또는 일부 HTTP GET에 대한 응답의 엔티티 본체로 정의됩니다. 미디어 구성 요소는 여러 세그먼트로 인코딩 되고 분할됩니다. 첫 번째 세그먼트는 DASH 클라이언트의 미디어 디코더 초기화에 필요한 정보가 포함된 초기화 세그먼트일 수 있습니다. 실제 미디어 데이터는 포함되어 있지 않습니다.

 그런 다음 미디어 스트림을 하나 이상의 연속 미디어 세그먼트로 나눕니다. 각 미디어 세그먼트에는 고유한 URL(바이트 범위 포함), 인덱스, 명시적이거나 암시적인 시작 시간 및 기간이 할당됩니다. 각 미디어 세그먼트에는 하나 이상의 스트림 액세스 포인트가 포함되어 있습니다. 이 액세스 포인트는 미디어 스트림에서 임의 액세스 또는 전환 지점이며, 이 포인트에서 디코딩은 해당 포인트의 데이터만 사용하여 시작할 수 있습니다.

여러 부분에서 세그먼트를 다운로드할 수 있도록 하기 위해, 사양은 세그먼트 인덱스 상자를 사용하여 하위 세그먼트를 신호하는 방법을 정의합니다. 이 상자는 지속 시간 및 바이트 오프셋 신호를 보내 세그먼트의 하위 세그먼트 및 스트림 액세스 지점을 설명합니다. DASH 클라이언트는 인덱싱 정보를 사용하여 부분 HTTP GET을 사용하여 하위 세그먼트를 요청할 수 있습니다. 세그먼트의 인덱싱 정보는 해당 세그먼트의 시작 부분에 있는 단일 상자에 넣거나 세그먼트의 여러 인덱싱 상자에 분산시킬 수 있습니다. 계층형, 데이지 체인 및 하이브리드와 같은 다양한 확산 방법이 가능합니다. 이 기술은 세그먼트 시작 부분에 큰 상자를 추가하지 않으므로 초기 다운로드 지연 가능성을 방지합니다. MPEG-DASH는 ISO 기본 미디어 파일 형식 및 MPEG-2 전송 스트림 모두에 대한 세그먼트 컨테이너 형식을 정의합니다. MPEG-DASH는 미디어 코드에 구애받지 않으며 멀티플렉스 및 비 멀티플렉스 인코딩 콘텐츠를 모두 지원합니다.

 

 

Multiple DRM and common encryption

MPEG-DASH에서 각 adaptive set은 하나의 콘텐츠 보호 설명자를 사용하여 지원되는 DRM 체계를 설명할 수 있습니다. adaptive set은 또한 여러 가지 콘텐츠 보호 체계를 사용할 수 있으며 클라이언트가 적어도 하나를 인식하는 한 콘텐츠를 스트리밍하고 디코딩할 수 있습니다. MPEG-DASH 표준화와 함께 MPEG는 공통 암호화 표준도 개발하고 있습니다. ISO/IEC23001-7: 미디어 콘텐츠의 공통 암호화 체계에 대한 신호를 정의합니다. 이 표준을 사용하면 콘텐츠를 한 번 암호화하고 클라이언트로 스트리밍할 수 있으며, 클라이언트는 서로 다른 DRM 라이센스 시스템을 지원합니다. 각 클라이언트는 지원되는 특정 DRM 시스템을 사용하여 암호 해독 키 및 기타 필수 정보를 얻은 다음 동일한 서버에서 일반적으로 암호화된 컨텐츠를 스트리밍 합니다.

 

 

Additional features

MPEG-DASH 사양은 기능이 풍부한 표준입니다. 추가 기능 중 일부는 다음과 같습니다.

 

▷ Switching and selectable streams. MPD는 스트림 선택 및 전환을 위해 클라이언트에 적절한 정보를 제공합니다. 예를 들어, 서로 다른 언어에서 하나의 오디오 스트림을 선택하고, 카메라 각도 간에 비디오를 선택하고, 제공된 언어에서 자막을 선택하고, 동일한 비디오카메라의 서로 다른 비트 전송률 간에 동적으로 전환됩니다.

▷ Ad insertion. 광고는 주문형 및 라이브 케이스 모두에서 기간 또는 세그먼트 간 기간으로 삽입할 수 있습니다.

 Compact manifest. 세그먼트 주소 URL은 템플릿 체계를 사용하여 신호를 보내어 소형 MPD를 생성할 수 있습니다.

 Fragmented manifest. MPD를 여러 부분으로 분할하거나 일부 요소를 외부에서 참조할 수 있으므로 여러 단계로 MPD를 다운로드할 수 있습니다.

 Segments with variable durations. 세그먼트의 지속 시간은 다양할 수 있습니다. 실시간 스트리밍을 사용하면 현재 세그먼트를 전달하여 다음 세그먼트의 지속 시간을 표시할 수도 있습니다.

▷ Multiple base URLs. 동일한 콘텐츠를 여러 개의 URL(즉, 서로 다른 서버 또는 CDN)에서 사용할 수 있으며, 클라이언트는 이러한 URL에서 스트리밍 하여 사용 가능한 네트워크 대역폭을 극대화할 수 있습니다.

 Clock-drift control for live sessions. UTC 시간은 클라이언트가 클럭 드리프트를 제어할 수 있도록 각 세그먼트에 포함할 수 있습니다.

Scalable Video Coding (SVC) and Multiview Video Coding (MVC) support. MPD는 대표성 사이의 디코딩 의존성에 관한 적절한 정보를 제공하며, SVC 및 MVC와 같은 모든 다계층 코드 스트림을 스트리밍 하는 데 사용될 수 있습니다.

 A flexible set of descriptors. 여기에는 콘텐츠 등급, 구성 요소의 역할, 내게 필요한 옵션 기능, 카메라 뷰, 프레임 패킹 및 오디오 채널 구성이 설명되어 있습니다.

 Subsetting adaptation sets into groups. 그룹화는 콘텐츠 작성자의 안내에 따라 수행됩니다.

Quality metrics for reporting the session experience. 이 표준에는 클라이언트가 측정하고 reporting 서버에 다시 보고할 수 있도록 잘 정의된 품질 메트릭 세트가 있습니다. 이러한 기능 대부분은 미래에 예측할 수 없는 사용 사례에 MPEG-DASH를 구축할 수 있도록 유연하고 확장 가능한 방식으로 제공됩니다.

 

 

What's next?

규격은 5개의 특정 프로파일을 정의하며, 각각은 서로 다른 클래스의 응용 프로그램을 처리합니다. 각 프로파일은 제약 조건 집합을 정의하여 MPD 및 세그먼트 형식을 전체 규격의 하위 집합으로 제한합니다. 따라서 특정 프로필을 준수하는 DASH 클라이언트는 전체 사양이 아닌 필요한 기능만 지원하면 됩니다. 일부 프로파일은 레거시 콘텐츠를 사용하도록 특별히 설계되었으므로 기존의 비표준 솔루션을 표준 솔루션으로 마이그레이션하는 경로를 제공합니다.다른 여러 표준 조직 및 컨소시엄은 MPEG와 협력하여 자체 사양에서 MPEG-DASH를 참조하고 있습니다.동시에 업계는 MPEG-DASH 기반 솔루션을 제공하기 위해 빠르게 움직이고 있습니다. 일부 오픈 소스 구현도 진행 중입니다. 향후 2년은 컨텐츠 및 서비스 공급자, 플랫폼 공급자, 소프트웨어 벤더, CDN 공급자 및 장치 제조업체를 포함한 업계가 이 표준을 채택하고 인터넷을 통한 멀티미디어 스트리밍을 위한 상호 운용 가능한 생태계를 구축하는 중요한 시기가 될 것으로 예상됩니다.

728x90
반응형