Amazon Web Services ブログ
自動化 ABRでよりスマートなビデオエンコードを行う方法
はじめに
今日使用されているオーバーザトップ(OTT) 配信形式の中で最も一般的なものは、ABR(アダプティブビットレート)技術を使用した、ビデオの提供に基づいています。ABRパッケージには、一定範囲のビットレートと解像度でエンコードされたコンテンツの、複数のレンディションが含まれています。 HTTPライブストリーミング(HLS)やHTTP上のダイナミックアダプティブストリーミング(DASH)などの形式は、同じビデオにおける、複数のレンディションを持つラダーの作成方法を定義します。それぞれ異なるフレームサイズまたはビットレートでエンコードされ、ウェブプレーヤー、モバイルデバイス、スマートテレビへと提供されます。各プレーヤーは、ディスプレイ設定と現在利用可能な帯域幅に合った、適切なレンディションを動的に選択できます。 その目的は、必要に応じてレンディションを切り替えることにより、コンテンツをスムーズに再生することです。
何個のレンディションを使用し、どのように配信したらよいのでしょうか。また、コンテンツに適したビットレートと解像度の組み合わせを、どのように判断すればよいのでしょうか。多くの企業にとって、ABRラダーで選びやすいのは、さまざまな種類のソースコンテンツタイプで同じ設定が使用される、固定式です。しかし、実装は簡単ですが、画一的アプローチではオリジンストレージを非効率に使用してしまい、ビデオコンテンツの画質とビット使用量は、最適な場合よりも低くなります。
実際に、理想的なABRパッケージ設定は、各ソースビデオによって大きく異なります。これは、各ソースの視覚的な複雑度が、最適に圧縮する方法へと影響を与えるためです。コンテンツカテゴリごとに異なるバージョンのABRラダーを作成することもありますが、ビデオごとに独自のラダーを作成するための、必要な時間とリソースを持つという課題を克服することは、ほとんど不可能でした。 しかし現在では、AWSクラウドで利用できるリソースの拡張性により、エンコードする動画ごとに効率的なラダーを作成でき、簡単に実現できるソリューションを用いて、品質の最適化とオリジンのコスト削減ができます。
タイトル毎のエンコーディングの出現
2015年、Netflixは、ABRラダーへの画一的アプローチが問題であると認識した、最初のOTTサービスの1つでした。Netflixは、タイトルごとのエンコーディングと呼ばれるABRラダーを作成するための新しいアプローチに取り組み、より少ない帯域幅で、視聴者に同等以上の画質を提供しました。Netflixは、最高の品質を提供するためには、各タイトルに独自のビットレートラダーが必要であると認識しました。この方法では、テスト出力をエンコードし、結果を分析し、独自の解像度とビットレートのセットを構築するための、計算リソースと時間が必要でした。しかし、その帯域幅の節約とビデオの品質には、追加の時間とリソースを費やすだけの価値がありました。それだけでなく、このアプローチを実行するために必要な技術リソースは、エンジニアがAWSでプロトタイプを作成・構築する上でも利用可能でした。
自動化ABR設定の概要
AWSは、AWS Elemental MediaConvertに自動化ABR設定という新機能をリリースしました。これによって、Netflixが達成したものと同様のコスト削減が、可能となります。自動化ABR設定により、ビデオソースごとに独自のABRラダーが作成されます。ABRセットは、エンコード処理中に実行された分析から得られた、コンテンツの複雑度に基づいて作成されます。この分析ステップでは、各ビデオのABR設定に最適なレンディションを選択します。
自動化ABR設定は、AWS Elementalの品質指定可変ビットレート(QVBR)エンコーディングモードの上に構築されています。このモードは、最低のビットレートで最高のビデオ品質を作成するように設計されています。QVBRを出発点として、自動化ABR設定は、冗長または重複するレンディションを除外することにより、出力ラダーを最適化します。その目的は、各レンディションの理想的な解像度を見つけることです。これは多くの場合、固定ラダーを使用した場合よりも低いビットレート、または低い解像度を使用し、同時に視聴エクスペリエンスを維持することを意味します。その結果、パッケージ全体のサイズとオリジンストレージのコストは、固定ABRラダーに比べて最大40%削減され、コスト削減が実現します。 ロングテールまたは低視聴率のコンテンツの大規模なライブラリを持つストリーミングプロバイダーにとっては、これは大きな利点です。
12本のビデオタイトルのサンプルテストセットを見てみましょう。ベースラインセットは、標準テンプレートに従って作成された6つのレンディションで、QVBRとAVC(動画データ圧縮符号化方式)コーデックでエンコードされました。自動化ABR設定出力は4~6レンディションの間で変化し、QVBRも使用しました。
ベースライン:固定ABRラダー | 自動化ABR設定 | |
---|---|---|
ビットレートの合計 | 160,979 Kbps | 112,341 Kbps |
固定ABRラダーに比べた削減 | – | 30% |
固定ABRラダーを使用してソースをエンコードした後に、自動化ABRを再度使用すると、ファイルサイズが小さくなり、ビットレートの合計は30%削減されました。私たちの客観的および主観的テストによると、多くの場合、ビデオの品質は同等かそれ以上でした。これは、視聴者が満足していて、VODコンテンツのオリジンストレージのコスト削減もできたことを意味します。
また、コンテンツによっては配信コストも低くなる場合があります。 自動化ABR設定を使用して割り当てられるビットレートは、コンテンツに大きく依存しますが、テスト済みのほとんどのユースケースは、固定ビットレートラダーと比べて、配信コストの削減を達成しました。比較のために、具体的なビデオにおけるケースを見てみましょう。このケースでは、原点ABRパッケージの合計サイズは、自動化ABR設定出力の場合、固定ラダーの場合と比較して29%小さくなります。
ベースライン:固定ABRラダー | 自動化ABR設定 | |||
---|---|---|---|---|
幅 x 高さ | 平均ビットレート | 幅 x 高さ | 平均ビットレート | レンディションあたりの削減 |
1920 x 1080 | 3,694 Kbps | 1920 x 1080 | 3,655 Kbps | 1% |
1280 x 720 | 1,970 Kbps | 1280 x 720 | 1,904 Kbps | 3% |
1280 x 720 | 1,944 Kbps | 1280 x 720 | 1,284 Kbps | 34% |
960 x 540 | 1,324 Kbps | 768 x 432 | 708 Kbps | 26% (average) |
852 x 480 | 1,032 Kbps | |||
640 x 360 | 708 Kbps | |||
Total Bitrate: | 10,672 Kbps | Total Bitrate: | 7,551 Kbps | |
Savings compared to fixed ABR ladder: |
29% |
また、最大解像度1080pでストリーミングしている視聴者は、自動化ABR設定により、1%低いビットレートでストリーミングしていることもわかりますが、この改善は微々たるものです。このビデオにおいて大きなコスト削減となったのは、2つの720pレンディションで視聴者がストリーミングしている点です。自動化ABR設定を使用することで、ビットが3%と34%削減されています。720p以下で提供されるものは、現在708Kbpsで768×432に縮小されています。これにより、固定ラダーの720pを下回る3つのレンディションと比較して、平均で26%(0%、31%および47%)の配信コストが削減されます。 実際の結果は、各レンディションでのストリーミング視聴者の数によって異なりますが、自動化ABR設定を使用するとどのように配信コストを削減できるかを、ご覧になれます。
シンプルに有効化
自動化ABR設定は、簡単に有効化できる機能です。 一度オンにすれば、新しいビデオをエンコードするたびに設定を調整する心配はいりません。代わりに、MediaConvertにすべての作業をお任せください。
この機能を有効にするには、自動化ABRをクリックし、出力に制限を適用する、3つの設定を行います。これらの設定は、レンディションの最大数と、ABRセットの最小ビットレートと最大ビットレートを制御します。 これにより、コンテンツは、ネットワークプレーヤーや動画プレーヤーにとって必要な範囲内に、保持されます。
自動化ABR設定は、HLS、DASH、CMAF、またはSmooth StreamingのABR出力グループで有効です。他のMediaConvert機能と同様に、自動化ABR設定はAPIまたは利用可能なSDKを介して呼び出すことができます。
最後に、自動化ABR設定は、オンデマンドのプロフェッショナル料金枠のMediaConvertジョブにおいて、追加コストなく利用できます。
まとめ
MediaConvertの自動化ABR設定は、ワンクリックで、エンコードする動画ごとに独自のABRスタックを作成します。ラダー内の各レンディションでは、QVBRエンコーディングモードを用いることで、最小のビットレートでビデオ品質が最大化されます。自動化ABR設定は、使用するレンディションの適切な数と配信を選び出し、出力ごとに最適な解像度とビットレートを選択します。また、ラダー内のステップの中で、ビデオ品質を向上させることなくABRパッケージ全体のサイズを増やす可能性のあるものを、除外します。 その結果、各ビデオに合わせてラダーが最適化され、オリジンストレージのコスト削減および、コンテンツによっては配信コストの削減が実現します。
自動化ABRのドキュメントを読んで、AWS Elemental MediaConvertを今すぐ始めましょう。
AWS Media & Entertainment 参考コンテンツ
・AWS Media & Entertainment Blog (日本語)
・AWS Media & Entertainment Blog (英語)
AWSのメディアチームの問い合わせ先: awsmedia@amazon.co.jp
※毎月のメルマガをはじめました。購読希望は上記宛先にご連絡ください。
翻訳は BD山口 賢人、SA石井 悠太が担当しました。原文はこちらをご覧ください。