6.27.2013

"MPEG DASH" vs "HLS"と標準化戦争


 MicrosoftがIE11 PreviewでMPEG-DASHをサポートしたということなので、Adaptive Streamingにおける現状とMPEG-DASHの今後についてまとめておこうと思います。

 Adaptive Streaming技術は、PCだけでなくモバイルデバイスを含んだ様々なデバイスでインターネット経由の動画をスムースに再生出来るように考えられたものです。モバイルデバイスというのは様々な回線状況の中で使われるものなので、回線速度・その変化に応じて最適なビットレートの動画を動的に選択出来るようにすることでスムースな再生を実現する、というのがその骨子です。
 現在、主に使われているAdaptive Streaming技術は以下の3つ。
  • HLS - HTTP Live Streaming
  • HDS - HTTP Dynamic Streaming 
  • Smooth Streaming
HLSはAppleが開発して仕様公開している技術で、iPhoneをはじめとしたiOSで主に使われているストリーミング形式。Androidでも3.0以降から実装されてきていて、特にJerryBean以降であればiOS/Androidで同じものを再生出来ようになっています。現在はiOS/Androidだけでなく様々なデバイスに実装されており、最も使われている形式と言えるかもしれません。
 HDSはAdobeが開発したAdaptiveStreaming方式で、Smooth StreamingはMicrosoftが開発した方式。HLS,HDS,Smooth Streamingはそれぞれ互換性が無いのですが、仕組みもやろうとしていることもほぼ同じようなものです。

 AdaptiveStreaming形式で使われている、動画を細かなセグメントファイル(ts)に切り分けてウェブサーバで配信するという仕組みは、ウェブサーバにおける広域負荷分散の技術をそのまま使えるためCDNとの親和性もよく、動画配信方式のデファクトになってきています。
 HLSがiOS/Androidの両プラットフォームでサポートされていることもありHLSが今後の主流にという流れがある一方で、公開されているとはいえ仕様を決めているのがAppleであり、DRMに関してはマルチDRMに対応していないということもあって複数方式が乱立しているのが現在のステータス。

 そこに標準化という切り口で登場してきたのがMPEG-DASH。DASHはDynamic Adaptive Streaming over HTTPを意味しています。
 DASHはAdobe,Microsoft,Cisco,Qualcomm,Netflixなどの企業群が標準化を目指して進めています。

 MPEG DASH Industry Forum
  http://www.dashif.org/

 方式としてはHLSに極めて似ていて(じゃあHLSでいいじゃんと思わないでもないけど)、セグメントに切り分けられた動画ファイルとその再生順序を記述したインデックスファイル(HLSでいうm3u8)から構成されています。そしてあくまでもMPEG-DASH自体はAdaptive Streamingを行なうためのフォーマットでしかないので、動画コーデックには依存しません。h.264でもh.265でもVP9でも問題無し(このあたりはHLSも同じ)。

 AdobeとMicrosoftの双方がMPEG-DASHを積極的に進めているということありそもそもHDS/Smooth Streamingはどうなるのかという声もありますが、今回IE11 PreviewでMPEG-DASHを早速サポートしてきたこともあり2013年はMPEG-DASH普及が始まりそうです。GoogleもChromeへのMPEG-DASH実装をしているし、YouTubeでのサポートもVP9コーデック対応含めて順調に進んでいます。

 http://dash-mse-test.appspot.com/

 FirefoxもDASH for WebMをサポート中。

 ただ、MPEG DASH Industry ForumにAppleの名前がありません。AppleはAdaptive Streamingに対してHLSを標準化しようとして進めてきた経緯があり、現状ではMPEG-DASHのサポートをしそうな気配無し。標準化を目指してIETFのドラフトも積極的に更新・公開しています(最新はJune 4, 2013版)。
 確かに方式が1つに標準化さればありがたいのですが、MPEG-DASHにおいては動画コーデックにWebM(VP9)だったりh.264だったりh.265だったりが混在する雰囲気もありありなので、MPEG-DASHがサポートされればすべて解決というわけにもならないと思われます。当面は。

 個人的にはHLSでいいじゃんと思うんですけどね。虎テレもHLSでiOS/Android/PC/Macのすべてに配信可能な仕組みを作ったことだし。


0 件のコメント:

コメントを投稿