マルチコーデック・ビデオを効率的にストリーミングする方法

Picture of bsp-admin-1
bsp-admin-1

過去10年間、インターネット経由で送信される動画配信の大半は、ITU-TのH.264 / MPEG-4 AVCビデオコーデックを使用してエンコードされていた。2000年代初頭に開発されたこのコーデックは、さまざまな機器やコンピューティング・プラットフォームで幅広くサポートされるようになり、97.93%という驚異的な普及率を誇っています。

写真1

しかし、技術に関する限り、このコーデックはかなり古い。近年、2つの新しいコーデックが登場した:ITU-Tと MPEGの 標準化グループによるHEVCとAlliance for Open Mediaによる AV1だ。どちらもH.264/AVCに比べて圧縮効率が少なくとも50%向上していると主張している。

理論的には、このような利益は、ストリーミングのコストの大幅な削減につながるはずである。しかし実際には、これらの新しいコーデックは、既存のデバイスやウェブブラウザの特定のサブセットにしか到達できない。例えば、HEVCは18.73%しかリーチしていないと報告されているが、これは主にアップルのデバイスと、ハードウェアHEVCをサポートしているデバイスを指している。ウェブブラウザにおけるAV1のサポート率はより高いが、特筆すべきは、アップルのデバイスと既存のセットトップボックスのほとんどのプラットフォームではサポートされていないことである。

写真2

このような状況は、疑問を投げかける:さまざまなデバイスで新しいコーデックが断片的にサポートされていることを考えると、どのようにストリーミング・システムを設計すれば、すべてのデバイスに、可能な限り高い効率で到達できるのだろうか?

このブログ記事では、マルチコーデック ストリーミングの概念を紹介し、Brightcove Video Cloud プラットフォームをサポートするために当社が設計した主要な要素と技術を説明することで、この疑問に答えたいと思います。

アダプティブ・ビットレート・ストリーミング 101

マルチコーデック・ストリーミングの話を始める前に、現代のABR(Adaptive Bit-Rate)ストリーミング・システムの動作原理を簡単に復習しておこう。このようなシステムの概念図を下図に示す。簡単のため、VOD配信のケースに焦点を当てる。

写真8

ビデオアセットがABRストリーミング用に準備されるとき、それは通常、いくつかのレンディション(またはバリアントストリーム)にトランスコードされる。このようなレンディションは通常、ビットレート、解像度、その他のコーデックおよびプレゼンテーションレベルのパラメータが異なります。

すべてのレンディションが生成されると、オリジンサーバーに配置されます。レンディションのセットとともに、オリジン・サーバーは、エンコードされたストリームのプロパティを記述した特別なマニフェスト・ファイルも受け取ります。このようなマニフェストは通常、HLSまたはMPEG DASHフォーマットで示されます。エンコードされたコンテンツのその後のユーザーデバイスへの配信は、HTTPを介して、コンテンツ・デリバリー・ネットワーク(CDN)を使用して行われ、配信システムの信頼性とスケーラビリティを保証します。

ビデオコンテンツを再生するために、ユーザー機器はストリーミング・クライアントと呼ばれる特別なソフトウェアを使用する。最も単純な形では、ストリーミングクライアントはウェブブラウザで実行されるJavaScriptである。また、カスタムアプリケーションであったり、オペレーティングシステム(OS)が提供するビデオプレーヤーであったりする。しかし、どのような実装であっても、ほとんどのストリーミング・クライアントは、再生中にストリーム/リビジョンを適応的に選択するためのロジックを含んでいる。

たとえば、観測されたネットワーク帯域幅が低すぎて、現在のストリー ムのリアルタイム再生に対応できないことにクライアントが気づいた場合、 より低いビットレートのストリームに切り替えることを決定することがある。これにより、バッファリングが防止される。そうでない場合、帯域幅が十分であれば、クライアントはより高いビットレート、つまりより高品質のストリームに切り替えることを選択することができ、より質の高い体験につながります。このロジックが、ストリーミング配信を適応的なものにしている。また、動画が常に複数(通常は5~10)のストリームにトランスコードされる理由でもある。

上の図に描かれているシステムには、さらに2つのコンポーネントがある:CDN とストリーミング クライアントから再生統計を収集する分析システムと、作成するレンディションの数とプロパティを定義するABR エンコーディング ラダー ジェネレータです。ブライトコーブ動画クラウドシステムでは、このブロックはContext Aware EncodingCAE)モジュールに相当します。

ストリーミング・システムで達成可能なエンコーディング・ラダーと品質

ここで、ストリーミングに使用されるエンコーディング・ラダーの例を考えてみよう。この例は、Brightcove CAE がアクション映画の動画コンテンツ用に作成したものです。

スクリーンショット 2021-03-23 at 8.37.41 AM

容易に観察できるように、エンコーディング・ラダーは5つのストリームを定義し、216pから1080pまでの解像度のビデオを配信することができ、約260から4200Kbpsの帯域幅を使用する。すべてのストリームはH.264/AVCコーデックによって生成される。この表の最後の列には、これらのレンディションをPC画面で再生した場合に推定される、知覚されるビジュアル品質のスコアが記載されている。これらの値は、MOSMean Opinion Score)スケールを使用して報告される。MOSスコア5は優れた品質を意味し、スコア1は品質が悪いことを意味する。

次に、(ビットレート、品質)-レンディションに対応する点と、ネットワーク帯域幅を変化させたストリーミング・システムで達成可能な最高の品質をプロットする。これはステップ関数となり、青で示される。

写真3

上図には、同じエンコーダで同じコンテンツをエンコードした場合に達成される可能性のある最良の品質値を記述する、いわゆる品質率モデル関数[1-3]のプロットも含まれています。この関数は赤の破線で示されています。

簡単に把握できるように、適切なラダー設計では、レンディションポイントは、品質レ ートモデルのポイントのサブセットになり、ストリーミングによって達成可能な品質を記述 するステップ関数は、このモデルの近似になる。ストリーミングシステムの品質に影響を与えるのは、エンコーディング・ラダー内のレンディション数と、帯域幅軸に沿ったレンディションの配置である。結果として得られるステップ関数が品質-レートモデルに近ければ近いほど、ストリーミングシステムが提供できる品質は向上する。

このことが意味するのは、ABRストリーミングのエンコーディング・プロファイル/ラダーは慎重に設計されなければならないということだ。最新のストリーミング・システムのほとんどが、コンテンツ、ネットワーク、およびその他の関連するコンテキストの特性を考慮して、このステップを動的に実行する特別なプロファイル・ジェネレーターを採用しているのはこのためだ。

品質率モデルの構築と最適符号化ラダーの生成に採用できる数学的手法の詳細については、参考文献[1-5]を参照されたい。

マルチコーデック・ストリーミング:主要原則

さて、主要なコンセプトを説明したので、マルチコーデック・ストリーミングに目を向けることができる。

より具体的にするために、2つのコーデックを使って生成されたエンコーディング・ラダーの例を考えてみよう:H.264/AVC と HEVC です。ここでも、Brightcove CAE が生成に使用されています。

スクリーンショット 2021-03-23 at 8.38.05 AM

H.264およびHEVCストリームをデコードするストリーミングクライアントが達成可能なレンディションポイント、品質レートモデル、および品質のプロットを下図に示す。

写真4

簡単に観察できるように、HEVCの品質-レートモデル関数は、H.264/AVCの品質-レートモデルよりも一貫して優れています。同じ意味で、HEVCレンディションは、H.264/AVCエンコーダーを使用してエンコードされたレンディションよりも優れた品質-レートトレードオフを提供するはずです。

しかし、一般的にレンディションポイントはわずかであり、それらはまばらに、インターリーブパターンで配置される可能性があることを考慮すると、H.264/AVCレンディションが、より小さいか等しいビットレートの最も近いHEVCレンディションよりも良い品質を提供するビットレートの領域を作成する可能性があります。上図のそのような領域は、H.264/AVCクライアントのステップ関数がHEVCクライアントの同じ関数を上回る場合に見られます。

これは何を意味するのか?つまり、2コーデックのラダーでは HEVCエンコードされたストリームだけをデコードしても、自動的に最高の品質になるわけではないということです!H.264/AVCとHEVCストリームの両方を選択的かつインテリジェントに切り替えるクライアントによって、さらに優れた品質が達成される可能性があります。このような「2コーデック・クライアント」によって達成可能な品質を、以下の図に示します。

写真5

この例では、2つのコーデック・クライアントは、HEVCまたはH.264のみのラダーでは5つしかないアダプテーション・ステップを、9つ行うことができる。これにより、利用可能なネットワーク帯域幅をより有効に活用し、全体としてより高品質な配信が可能になります。

既存のストリーミング・クライアントのマルチコーデック機能サポート

先ほど見たように、ストリーミング・クライアントがデコードするだけでなく、H.264/AVCとHEVCストリームをインテリジェントかつシームレスに切り替える能力は非常に重要である。これにより、品質が向上し、生成されるストリーム/レニションの数が減り、ストリーミングのコストが削減される。

しかし、既存のすべてのストリーミング・クライアントがそのような機能を持っているわけではない。これをうまく実現しているクライアントの最もよく知られた例は、最近のアップル・デバイスに搭載されているネイティブ・プレーヤーである。これらは、H.264/AVCとHEVCストリームをシームレスにデコードし、切り替えることができる。最近のバージョンのChromeとFirefoxブラウザは、いわゆるchange Type方式をサポートしており、技術的にはJavaScriptベースのストリーミング・クライアントがコーデック間の切り替えを実装できるようになっている。

SmartTV、セットトップボックスなどのハードウェアデコーダーを持つ多くのプラットフォームのストリーミングクライアントは、H.264/AVCまたはHEVCストリームのどちらかしかデコードできず、ストリーミングセッション中に別のコーデックに切り替えることはできない。そして当然ながら、H.264/AVCエンコードされたストリームしかデコードできないレガシーデバイスも数多く存在する。

このように断片化されたストリーミング クライアントの空間とその能力は、HLS と DASH マニフェストを適切に定義することによって、エンコーディング ラダー生成の段階で説明する必要があります。次のセクションでは、Brightcove Video Cloudプラットフォームでこれらの課題にどのように対処したかを簡単に説明します。

BRIGHTCOVE ビデオクラウド プラットフォームのマルチコーデック対応

Brightcove Video Cloud は、このブログ記事でレビューした ABR ストリーミング システムのすべての構成要素を含む、エンドツーエンドのオンライン動画プラットフォームです。

例えば、このシステムでのエンコーディング・ラダー生成は、Brightcove CAEテクノロジーを使用して行われます。システムのユーザー/オペレータにとっては、H.264-、HEVC-、および混合コーデックのストリーミング展開を可能にする、いくつかの設定済みCAE インジェスト・プロファイルが存在することがその現れです。

スクリーンショット 2021-03-23 at 8.38.40 AM

マルチプラットフォーム拡張HEVC(CAE)混合コーデック・インジェスト・プロファイルを選択すると、H.264とHEVCの両方のストリームが存在する混合コーデック・ラダーになります。このプロファイルは、180pから1080pの解像度の範囲をカバーし、250Kbpsから4200Kbpsの範囲のビットレートで、両方のコーデックに対して3から12の出力ストリームを生成することができます。CAEプロファイル・ジェネレーターは、コンテンツの特性と、アカウントで観察された再生統計に基づいて、それ以外のすべてを自動的に定義します。

Video Cloud では、マニフェストとメディア セグメントは、さまざまなストリーミング標準とプロファイル(HLS v3、HLS v7、MPEG DASH、Smooth など)に従って生成されます。これらはすべて、受信デバイスの好みや能力に基づいて動的に生成されます。さらに、特定のフィルタリングルール(配信ルール)が適用されることもあります。たとえば、H.264/AVC および HLS v3 フォーマットのストリーミングにしか対応できないレガシーデバイスからの再生要求の場合、TS ベースのセグメントとともに HLS v3 マニフェストのみが提供され、H.264/AVC エンコードされたストリームのみが含まれます。

一方、H.264/AVC および HEVC ストリームの両方を決定できる新しいデバイスの場合、配信システムは、H.264/AVC および HEVC エンコードされたストリームの両方を含むマニフェストを作成することができます。マニフェストにおける混合コーデックストリームの宣言は、HLSおよびDASH-IF のデプロイメントガイドラインに従って行われます。以下に、そのような宣言の概念的な例を示します。

スクリーンショット 2021-03-23 at 8.38.40 AM

観測されたように、HLS では、混合コーデックのレンディションは、マスター・プレイリストに自然な順序で含めることができる。しかし、MPEG DASH では、各コーデックに従ってソートされた異なるアダプテーションセットの中に、別々にリストされる必要があります。DASH で混合コーデックのレンディションを切り替えられるようにするために、特別な SupplementalProperty 記述子が各アダプテーションセットに含まれています。

異なるコーデックでエンコードされたストリームを切り替える際に、クライアントが適切な判 断を下せるように、特別な相対品質属性を使用することができます。HLS では、SCORE 属性と呼ばれ、値が高いほど品質が高いことを示します。MPEG DASH では、"Quality Ranking" 属性と呼ばれ、値が低いほど高品質であることを示します。しかし、これらの属性はどちらもオプションであり、既存のクライアント・デバイスの一部のみがサポートしています。ブライトコーブ動画クラウドでは、すべてのデバイス/クライアントがマルチコーデック ストリーム間の切り替えで混乱しないように、マニフェスト フィルタリング オプションを提供し、最終マニフェストで品質値が徐々に高くなるレンディションのみをクライアントが表示できるようにします。

Video Cloud におけるマルチコーデック ストリームの最終的な配信は、2 レベルの CDN 構成によって処理され、高効率(低オリジン ビット レート)とストリームの配信の高スケールと信頼性が保証されます。Brightcove Video Cloud で採用されているさまざまな構成と最適化技術の詳細については、最近の論文 [3] またはBrightcove 製品のドキュメントを参照してください。

結論

マルチコーデック ストリーミングをサポートするためのすべての機能とツールの組み合わせにより、Brightcove Video Cloud を使用した有効化と導入は数分で完了します。

アップル・デバイスやその他のHEVC対応携帯電話、セットトップ・ボックスに大量のストリームを配信している場合、HEVCおよびマルチコーデック・ストリーミングの使用を可能にすることで、レガシー・デバイスへのリーチを損なうことなく、CDNのトラフィック/コストを大幅に削減できます。

当社が開発したツールは、このような展開を最小限の展開コストで実現し、すべてのデバイスに到達する高い品質と信頼性を保証します。

参考文献

[1] Y. Reznik, K. Lillevold, A. Jagannath, J. Greer, and J. Corley, "Optimal design of encoding profiles for ABR streaming," Proc.Packet Video Workshop, Amsterdam, The Netherlands, June 12, 2018.[2] Y. Reznik, X. Li, K. Lillevold, A. Jagannath, and J. Greer, "Optimal Multi-Codec Adaptive Bitrate Streaming," Proc.Multimedia and Expo (ICM), Proc.Multimedia and Expo (ICME), Shanghai, China, July 8-12, 2019.[3] Y. Reznik, X. Li, K. Lillevold, R. Peck, T. Shutt, and P. Howard, "Optimizing Mass-Scale Multiscreen Video Delivery," SMPTE Motion Imaging Journal, vol. 129, no.3, pp.26 - 38, 2020.[4] Y. Reznik, "Average Performance of Adaptive Streaming," Proc.Data Compression Conference (DCC'21), Snowbird, UT, March 2021.[5] Y. Reznik, "Efficient multi-codec streaming" - HPA Tech Retreat 2021にて講演。

Back in July 2025, Brightcove unveiled an ambitious roadmap with a dual focus on innovation and quality of experience...
Our teams have been hard at work making the Brightcove platform more powerful, more reliable, and more insightful for...
Vertical Videos Experience lets you deliver a TikTok/Reels-style vertical feed on the web, powered by Brightcove. It’...

動画コンテンツの管理・活用はできていますか?

御社の動画マーケティング活動を強化し、必要な結果とROIを生み出すお手伝いをする方法については、
弊社までお問い合わせください。