Dynamic Adaptive Streaming over HTTP ( DASH )、別名MPEG-DASHは、従来のHTTPウェブサーバーから配信されるインターネット経由で高品質なメディアコンテンツをストリーミング配信することを可能にする、適応型ビットレートストリーミング技術です。
AppleのHTTP Live Streaming(HLS)ソリューションと同様に、MPEG-DASHはコンテンツを短いセグメントのシーケンスに分割し、HTTP経由で配信することで機能します。各セグメントには、映画やスポーツイベントの生中継など、数時間に及ぶ可能性のあるコンテンツの短い再生時間間隔が含まれています。コンテンツはさまざまなビットレートで利用可能であり、つまり、異なるビットレートでエンコードされた代替セグメントが、同期された短い再生時間間隔をカバーします。MPEG-DASHクライアントがコンテンツを再生している間、クライアントはビットレート適応(ABR)アルゴリズム[ 2 ]を使用して、再生中に停止や再バッファリングイベントを引き起こすことなく、再生に間に合うようにダウンロードできる可能な限り最高のビットレートのセグメントを自動的に選択します。[ 3 ]このように、MPEG-DASHクライアントは変化するネットワーク状況にシームレスに適応し、停止や再バッファリングイベントが少ない高品質の再生を提供できます。
MPEG-DASH は、国際標準である初の適応型ビットレート HTTP ベースのストリーミング ソリューションです。[ 4 ] MPEG-DASH はトランスポート プロトコルと混同してはいけません。MPEG-DASH が使用するトランスポート プロトコルは、どのバージョンの HTTP が使用されるかによって異なります。TCPはHTTP およびHTTP/2が動作するトランスポートであり、HTTP/3 はQUIC (さらにUDPで動作します)上で動作します。MPEG-DASH は、事実上すべてのワールド ワイド ウェブ コンテンツの配信に使用される既存の HTTP ウェブ サーバー インフラストラクチャを使用します。これにより、インターネットに接続されたテレビ、テレビ セットトップ ボックス、デスクトップ コンピュータ、スマートフォン、タブレットなどのデバイスが、インターネット経由で配信されるマルチメディア コンテンツ (ビデオ、テレビ、ラジオなど) を、インターネットの受信状況の変化に対応して受信できるようになります。適応型ストリーミング ソリューションを標準化することは、 Microsoft のSmooth StreamingやAdobe のHDSのような類似しているが独自性の高いソリューションと比較して、このソリューションが普遍的に展開できることを市場に確信させることを目的としています。 HDSやSmooth Streamingとは異なり、DASHはコーデックに依存しないため、 H.265、H.264、VP9などの任意のコーディング形式でエンコードされたコンテンツを使用できます。 [ 5 ]
MPEG-DASH技術はMPEGの下で開発されました。DASHの開発は2010年に始まり、2011年1月に国際標準案となり、2011年11月に国際標準となりました。[ 4 ] [ 6 ] MPEG-DASH規格は2012年4月に公開されましたが、2019年に改訂され、その後2022年に再び改訂されました。。
DASH は、 Adobe Systems HTTP Dynamic Streaming、Apple Inc. HTTP Live Streaming (HLS)、およびMicrosoft Smooth Streamingに関連する技術です。DASH は、 3GPP Release 9の Adaptive HTTP Streaming (AHS)とOpen IPTV Forum Release 2の HTTP Adaptive Streaming (HAS) に基づいています。[ 7 ] [ 8 ] MPEG との協力の一環として、3GPP Release 10 では、無線ネットワークで使用するために DASH (特定のコーデックと動作モード付き) が採用されました。[ 7 ]
DASH業界フォーラム(DASH-IF)[ 9 ]は、MPEG-DASHの採用をさらに促進し、仕様から実際のビジネスへの移行を支援します。マイクロソフト、Netflix、Google、エリクソン、サムスン、アドビなどの主要なストリーミングおよびメディア企業で構成され、実際のさまざまなユースケースでのDASHの使用に関するガイドラインを作成します。
MPEG-DASHは他の規格にも統合されており、例えばHbbTV(バージョン1.5以降)ではMPEG-DASHがサポートされています。 [ 10 ]
DASH は、マルチメディアファイルを 1 つ以上のセグメントに分割し、 HTTPを使用してクライアントに配信する適応型ビットレート ストリーミング技術です。[ 11 ]メディア プレゼンテーション記述 (MPD) は、セグメント情報 (タイミング、 URL 、ビデオ解像度やビットレートなどのメディア特性)を記述し、ユース ケースに応じて、SegmentList、SegmentTemplate、SegmentBase、SegmentTimeline など、さまざまな方法で構成できます。セグメントには任意のメディア データを含めることができますが、仕様では、ISO ベース メディア ファイル フォーマット(MP4 ファイル フォーマットなど) またはMPEG-2 トランスポート ストリームの 2 種類のコンテナで使用するための具体的なガイダンスとフォーマットを提供しています。
DASH の初期の先駆けは、2006 年にヒューレット・パッカード研究所で開発および展開された SProxy と呼ばれるHTTP Web サーバーベースのストリーミング システムでした。 [ 12 ] [ 13 ]これは、HTTP 範囲リクエストを使用してコンテンツを小さなセグメントに分割する方法を示しました。SProxy は、セグメントベースのストリーミングの有効性を示し、ファイアウォールが広く展開されている状況下でもインターネットへの浸透率を高め、ユーザーが終了前にストリーミング セッションを終了することを選択した場合に不要なトラフィック送信を削減しました。
DASH はオーディオ/ビデオコーデックに依存しません。通常、マルチメディア ファイルの 1 つ以上の表現 (つまり、異なる解像度またはビット レートのバージョン) が利用可能であり、ネットワークの状態、デバイスの機能、およびユーザーの好みに基づいて選択できるため、適応型ビットレート ストリーミング[ 14 ]とQoE (Quality of Experience) の公平性[ 15 ]が可能になります。DASH標準では、適応型ビットレート ストリーミング (ABR) ロジックは規定されていません。[ 16 ]現在の MPEG-DASH リファレンス クライアント dash.js [ 17 ]は、バッファ ベース (BOLA [ 18 ] ) とハイブリッド (DYNAMIC [ 3 ] ) の両方のビットレート適応アルゴリズムを提供します。DASH は、基盤となるアプリケーション レイヤー プロトコルにも依存しません。したがって、DASH は HTTP 以外のアプリケーション プロトコルでも使用できます。たとえば、CCN上の DASH [ 19 ]などです。
2015年7月27日、MPEG LAは、この技術の単一の特許プールを作成するために、MPEG-DASH関連の特許の募集を発表しました。[ 20 ] MPEG LAは、MPEG-DASH特許ポートフォリオのライセンスを発表しました。MPEG-LAは、含まれる特許はMPEG Dynamic Adaptive Streaming over HTTP標準に不可欠であると主張しています。[ 21 ]
MPEG-DASHは、ExoPlayerを介してAndroidでネイティブに利用可能であり、[ 22 ] Samsung Smart TV 2012+、LG Smart TV 2012+、Sony TV 2012+、Philips NetTV 4.1+、Panasonic Viera 2013+、およびChromecastでも利用可能です。[ 23 ] YouTubeとNetflixは既にMPEG-DASHをサポートしており、さまざまなMPEG-DASHプレーヤーが利用可能です。[ 24 ]
MPEG-DASHはHTML5で直接サポートされていませんが、HTML5メディアソース拡張機能(MSE)を使用してWebブラウザでMPEG-DASHを使用できるJavaScript実装が存在します。[ 25 ]また、HTML5暗号化メディア拡張機能を使用してMPEG-DASHのDRMをサポートするbitdashプレーヤー[ 26 ]などのJavaScript実装も存在します。[ 27 ] WebGLと組み合わせることで、HTML5ベースの適応型ビットレートストリーミングによるMPEG-DASHは、ライブおよびオンデマンドのユースケース向けに360°ビデオを効率的にストリーミングすることも可能になります。[ 28 ]
ライブストリーミングを除き、DASHコンテンツに関してはサーバー側で特別なサポートは必要ありません。
Windows 10はかつて、 EdgeHTMLという独自のブラウザエンジンでDASHストリーミングをネイティブサポートしていました。EdgeHTMLは、ChromiumベースのBlinkブラウザエンジンへの移行以前にMicrosoft Edge(現在はEdge Legacyと呼ばれています)で使用されていたものです。Edge LegacyはWindows 10のバージョン2004まで搭載されていましたが、バージョン20H2でEdge Chromiumに置き換えられました。
他のブラウザやオペレーティングシステムでのDASHのサポートは、メディアソース拡張機能を通じて利用可能です。