Context Aware Encodingでコストを削減し、動画配信の品質も改善させよう
Media
私たちはより多くの動画を観るようになっています。携帯電話で、タブレットで、リビングルームのテレビで、そして仕事中も、電車に乗っているときも、あるいは道を歩いているときにも動画を観ています。ストリーミングサービスが規模を拡大しより多くのコンテンツをより多くの画面に配信する中、動画の保存や様々なデバイスへの配信に使用する帯域幅のコストは下がっています。
多種多様なデバイス向けに、高い品質の動画を大規模に効率よく配信することこそ ブライトコーブが使命としていること ですが、本日はContext Aware Encoding(コンテクストに合わせたエンコーディング)という新しい機能をご紹介します。この機能は視聴者には再生画質の向上をもたらしながらも、動画の保存とストリーミングのコストを劇的に削減します。Context Aware Encodingでは、高度なコンテンツ分析アルゴリズムを用いて、それぞれの動画ごとに圧縮設定を行います。ほとんどの場合、再生画質は維持され、動画ファイルは(そしてCDN料金も)小さくなります。
アダプティブ・ビットレート・ストリーミング(ABR)
今日、インターネットを通して配信される動画のほとんどは、動画再生の最適化のためHLSやMPEG-DASHのようなアダプティブ・ビットレート(ABR)ストリーミング技術を利用しています。ABRストリームには同じ動画を異なる解像度やビットレートでエンコードした「レンディション」と呼ばれる複数のコピーが含まれています。ユーザーが再生ボタンを押すと、プレーヤーが再生可能なレンディションをリストアップしたマニフェストを受信します。プレーヤーは、現在使える帯域幅、バッファの量、再生ウィンドウのサイズなど複数の要素に基づいて適切なレンディションを選びます。再生中にこれらの要素が変化した場合、プレーヤーはより高品質なレンディションに引き上げる、あるいは低品質なレンディションに引き下げるなどの変更をすることによって、視聴者ができるだけ画質のいい動画をできるだけ小さいバッファで見ることができるようにしています。
ストリーミングサービスは、一般的にすべてのコンテンツに一律のエンコード設定を作成しています。このあらかじめ決定したABRレンディションのセット(「ラダー」と呼びます)を使ってすべてのコンテンツをエンコードするのです。ABRラダーにどの解像度やビットレートを入れるかには、厳密な決まりはありません。。ABR ラダーは特定のユースケースに合わせて作成されることもあります。例えば、アニメの場合、それほど複雑ではないため低いビットレートでエンコードすることが可能です。
静的ABRの問題点
多様なオーディエンスにリーチしようとすれば、ストリーミングする側は画一的なアプローチをとる必要に迫られ、さまざまなコンテンツタイプを様々なエンドユーザーのデバイスに合わせるために単一のビットレート・ラダーを使わざるを得なくなります。ハイビジョンのスポーツコンテンツをテレビで再生する場合も、アニメを携帯端末で再生する場合も、ほとんどの場合で同じABRラダーが使用されるのです。
これにはどんな問題があるのでしょうか?単一のビットレート・ラダーを使用すると、コンテンツの種類によって動画の質にばらつきが出ます。スポーツのように複雑なコンテンツの場合、アニメのようにそれほど複雑ではないコンテンツと比べ、それなりの視聴エクスペリエンスを提供するためにはより高いビットレートが必要です。例えば、スポーツコンテンツの見た目をよくするために、これに合わせてラダーを高めのビットレートに寄せた場合、同じプロファイルをアニメコンテンツにも使用することになり、ストレージ量と伝送量を無駄にするため、余分なコストがかかります。
Context Aware EncodingでABRストリームを最適化する
そこでブライトコーブのContext Aware Encodingの登場となります。すべてのコンテンツに同じABRラダーを使用する代わりに、Context Aware Encodingはそれぞれの動画ファイルを分析してカスタム化したビットレート・ラダーを自動で作成します。それに加え、Context Aware Encodingでは配信ネットワークや使用されているデバイスに関係する制約要素を考慮します。レンディションは何種類必要か、それぞれの解像度とビットレートはどうするかといったことを決定し、すべての動画タイトルの再生品質の一貫性を維持します。これにより、ストレージ量と帯域幅に関連するコストの大幅な削減が可能になり、しかもユーザーの再生エクスペリエンスも向上します。
下図は、典型的な静的ABRラダーと、よくあるニュースクリップに合わせて生成されたコンテクストに合わせたラダーの例を示したものです。
Context Aware Encodingは、静的ABRラダーと同じ品質を、わずか半数のレンディションで実現しており、さらにそれぞれのレンディションにおいてより低いビットレートまたは高い解像度を使用しています。再生パフォーマンスの面でもコスト効率の面でも良いインパクトを与えます。
より低いビットレートでよりよい再生パフォーマンスを
静的ABRラダーを使用した場合、1,000kbpsの帯域幅を利用できる3G携帯ネットワークを使うユーザーは、ピーク時900kbpsで360pレンディションを使用します。Context Aware Encodingは、これより高い解像度である432pレンディションをより低いビットレートである777kbpsで実現できると考えました。このレンディションでは使用ビットは13%も少なく、解像度も画質も高い動画を配信できます。下の比較写真のスライダーを動かして、違いをご覧ください。画面下の文字が映っている部分や男性の髪の毛のあたりを見ると、Context Awareによるクリップの方が細かい部分まではっきりと映っていることが見て取れます。
$(window).load(function() { $("#comparison-image").twentytwenty(); });
同様に3,000kbpsの帯域幅を利用できる安価な住宅向けインターネット接続プランを使用しているユーザーの場合、静的ABRラダーではピーク時720pレンディションを使用することになりますが、Context Aware Encodingであれば完全な1080pのストリーミング利用でき、フルハイビジョン体験が可能になります。
ストレージ量とCDN使用量(使用帯域幅)のコストも削減
静的ABRラダーのレンディション8種類をすべてエンコードすると、全部で14,750kbps 分のデータになります。これは1分間の動画で885MBに相当します。しかしContext Awareラダーでは、わずか4,950kbpsです。したがって同じ1分間の動画でもデータのサイズは297MBで、ストレージ量は66%も節約できます。使用帯域幅は視聴者の数と視聴時間によって異なるため、ストレージ量以上の節約も可能になります。全体として、Context Aware Encodingによってストレージ量とCDN使用量ともに最大50%のコストを削減できると考えられます。レンディションのビットレートを、画質を維持するのに最低限必要なビットレートに調整することで、一回の視聴ごとに視聴者が使用する帯域幅は少なくて済むことが多くなり、伝送コストはさらに削減できます。
Context Aware Encodingは、現在Video Cloudをご利用のお客様向けにベータ版として提供しています。お試しになりたいお客様は弊社までご連絡ください。