2024年08月29日
ライブ映像配信のユーザーエクスペリエンスの最適化
※この投稿は、Agoraの日本代理店であるブイキューブが、Agoraブログを翻訳した記事です。
ライブストリームの映像の映りが悪くて止まる状態での視聴は、どのくらいの時間が我慢できますか。映像コンテンツが重要視されている現在のデジタル環境では、ストリーミング映像のクオリティーがユーザーエクスペリエンスに大きな影響を与えています。クオリティーの高いリアルタイムの映像配信サービスをユーザーに提供するにあたって、どの手段が取れそうですか。本記事ではライブ映像配信のユーザーエクスペリエンスの最適化の方法についてご紹介します。
目次
[非表示]はじめに
AgoraのAVO(ユーザーのネットワーク環境に合わせたビデオの最適化技術です。Adaptive Video Optimization™の略)は、期待を超えるクオリティーでユーザーにライブ映像配信サービスを提供するために、複数の技術を取り込んでビデオキャプチャーの段階から再生まで全てのプロセスを一つひとつ丁寧に検討・設計します。理想のネットワークではないシナリオでも優れたパフォーマンスの実現ができるようにAVOは機械学習とAI人工知能を導入しています。
一般的な映像配信する時にあり得るケースで見てみるとどう違いますか。一例として、パケットロスが20%の通信状況で検証してみると、ZoomのビデオSDKで配信したリアルタイムのビデオ映像はフリーズ、カクカクする、また配信遅延が起きました。
これに対して、AgoraのビデオSDKはこんな状況でも問題なくスムーズに配信できました。Agoraのビデオ映像が安定するクオリティーで画質良く配信し続けられました。一方で、検証時にZoomのビデオ映像が明らかにぼやけた状況が頻繁に起きました。以下のテストビデオでZoomと比べてAgoraのAVOはリアルタイムの映像配信を最適化するのにどれほど役に立っているかを見てみましょう。
※上記のテストビデオは、ダウンリンクのネットワーク側にてパケットロスが20%の障害が起きた状況で検証したものです。
さて、あまり理想ではないネットワーク状況においてもスムーズでクオリティーの高い映像配信をサポートするために、Agoraはどのような対策を打っていますか。ユーザーエクスペリエンスを創るための特定のポイント、およびAgoraのAVOのケイパビリティを高める映像配信技術については、以下をご覧ください。
ユーザーに卓越したライブ映像配信を体験させるための三つの重要なポイント
AVOのケイパビリティを高める映像配信技術の紹介に入る前に、ライブ映像配信時にユーザーエクスペリエンス(UX)を良くするためにAgoraがとっても重要視しているポイント「映像の品質、スムーズな映像配信と低遅延」から見ていきましょう。
画質の最適化(Optimized Image Quality)
Agoraの技術が映像のコントラストを強化し細部まで鮮やかにレンダリングし綺麗に仕上げて高品質の成果物としてユーザーに送ります。あらゆる瞬間をありのままにキャプチャーしてユーザーに送ることで、綺麗な映像とより魅力的な視聴体験をユーザーに提供しています。
※上記のサンプルについて、右側はAgoraで処理した映像です。
優れたスムーズな映像配信(Unmatched Video Fluency)
スムーズにビデオ再生できるようにバッファリングや途切れなどよくある配信トラブルを解決して、ユーザーに滑らかな映像で良い視聴体験を実現します。
※上記のサンプルについて、右側はAgoraで処理した映像です。
超低遅延(Ultra-Low Latency)
ここでの超低遅延とは、ユーザーがホストや他のユーザーとリアルタイムにインタラクティブなやり取りができることです。さらに、読み込み時間の短縮と最初のフレームの即時レンダリングのケイパビリティから、ユーザーはAgoraを使って開発されたアプリ内で異なるビデオストリームやコンテンツにシームレスなトランジションでスムーズに画面を切り替えることができます。これにより、違和感なく応答性の高いビデオインタラクションが可能になり、クオリティの良いライブ映像配信を楽しむことができます。
※上記のサンプルについて、右側はAgoraで処理した映像です。
ユーザーに卓越したライブ映像配信を体験させるためのこの三つの重要なポイントは、映像配信業界の中で最高のユーザーエクスペリエンスを創るようにAgoraにとって一番大事なミッションとして力を注いでいることです。ライブ映像配信とのあらゆるインタラクションがAgoraのユーザーにとっては没入型で魅力的なものになるように努めています。
クオリティーが高いライブ映像配信を実現するために処理を最適化する
ライブ映像配信時にユーザーに最適なリアルタイムの視聴体験を提供するにあたって、上記に紹介したユーザーエクスペリエンスを良くするための三つの重要なポイントに基づいて映像の配信処理の改善に工夫が必要です。AgoraのAVOは前処理、エンコーディング、伝送、デコーディング、および後処理など映像配信処理の五つの段階を最適化します。
Agoraのビデオの最適化技術:Adaptive Video Optimization™が行う映像配信処理の五つの段階
前処理(Pre-Processing)
次の映像配信処理のエンコーディング段階に移す前には、映像の品質が一番高いものでアウトプットされるようにこの最初のフェーズにてAgoraがインプットする生映像を最適化します。これは、最高品質の映像をアウトプットするための準備を整えるのに非常に重要なステップです。
Agoraの前処理の段階においては、以下が行われます。
映像のコントラスト調整(Contrast Adjustment)を使い低照度環境などのような良くない照明環境においても、ユーザーの映像が問題なくはっきりと見えるようにその環境に合わせて自動的に補正します。
知覚ビデオコーディング(Perceptual Video Coding、PVC)は、ディープラーニングを利用して映像の品質に影響せず帯域幅の使用(消費)状況を30%くらいも削減しながらクオリティが一番良いビデオでの配信を実現できました。これは、PVCが私たちの目がどのようにビデオコンテンツを認識するかを考慮し不要な冗長部分を省略するので、圧縮率が改善されます。
関心領域(Region of Interest、ROI)のフレーム化は、背景のオブジェクトより顔や体などユーザーが気になる部位にビットをより多く割り当てることで、渡されたビデオ映像に対する主観的な印象を良くします。
色彩強化(Color Enhancement)で実物そっくりな鮮やかなビデオコンテンツをユーザーに提供します。どの画面でも見事に表示されるように的確で鮮やかな色でアウトプットします。
前処理の自動調整(Pre-Processing Auto Adjustment)は、アルゴリズムの複雑性から適切なレベルを選ぶので、システムの使用(消費)状況と映像の品質改善にバランスを取っています。
エンコーディング(Encoding)
ビデオエンコーディングは、非常に低いビットレートで生映像のフレームをビットストリームに圧縮します。また、最適なビデオ送信を実現するために必要に応じて変換もします。
Agoraのコーディングエンジン(Agora’s Coding Engine、ACE)
Agoraのコーディングエンジン(Agora’s Coding Engine、ACE)は、AgoraのAVOのコア機能として以下の重要な機能をサポートし、最適なエンコーディングを実現しています。
Agoraのコーディング技術(Agora Coding Technology、ACT)には自動調整機能が含まれていて、ユーザーが使用するデバイスのケイパビリティと相互運用性の要件に従って動的に最適なエンコーダーを選択します。ハードウェアとソフトウェアにおいて、H.264, H.265, VP8, VP9, AV1などAgoraは幅広いビデオコーデックをサポートしています。また、ACTもCPUロードの変化によってコーデックの設定値を動的に調整してくれます。特にライブ映像配信時に互換性の問題が起きた場合は、シームレスなセッションを維持するために必要に応じてH.264やVP8にコーデックの設定を変更することがあります。
ビデオの品質管理(Video Quality Control、VQC)は、機械学習技術を利用して可用帯域幅に従って動的にビデオの解像度とフレームレートを調整し、ライブ映像配信時にユーザーに最適なエクスペリエンスを提供します。
伝送(Transmission)
Agoraが前処理とエンコーディングの段階でビデオを最適化した後に、このビデオはAgora社が開発した双方向通信を実現するためのグローバルなプラットフォームSD-RTN™(Software-Defined Real-Time Network)経由でユーザーに送ります。Agoraのネットワークはインターネットへリアルタイムにオーバーレイする特徴があり、さまざまなネットワーク環境に自動的に適応することができます。遅延を最小限に抑えつつ全体的なパフォーマンスがベストであるように、ユーザーのビデオが最適なパスでルーティングされるように動いています。
Agoraのラストワンマイルの伝送力(Agora’s Last Mile Transport、ALT)
Agoraのラストワンマイルの伝送力(Agora’s Last Mile Transport、ALT)はユーザーが使用するデバイス上で実行されるSDKとAgoraのSD-RTN™の間で動作し、ハードルが高いラストワンマイルの接続を乗り越えるように伝送(transmission)の段階を最適化します。
SDK(デバイス)側でALTは以下の機能を含んでいます。
パケットロス検出アナライザー(Loss Detection Analyzer)は機械学習アルゴリズムの一つです。パケットロスが発生した時にこのロスは通信回線の混雑、ランダムや他の不具合のどれに当てはまるかを分析し分類することができます。
輻輳制御と可用帯域幅の推定(Congestion Control and Bandwidth Estimation)は検出されたネットワークの回線混雑状況を元にビデオ送信関連のパラメーターをスマートに計算し、利用可能な帯域幅を推定します。
前方誤り訂正(Forward Error Correction、FEC)と自動再送要求(Automatic Repeat Request、ARQ)はパケットロスの回復力を高めます。
ビデオがSD-RTN™へ伝送されるフローをスムーズにするようにペーシング(Pacing)します。
AgoraのSD-RTN™
ビデオ伝送(video transmission)の段階を最適化するために、AgoraのSD-RTN™は以下の重要な機能を提供しています。
スマートルーティング(Smart Routing)は最適な伝送パスを選択し、遅延を最小限に抑えます。
プリロード(Pre-Load)/プリジョイン(Pre-Join)はSD-RTN™と連携しつつ、最初のフレームのレンダリングを速やかに終わらせてユーザーに送れるように必要な情報を予測してプリセットします。これはどれほど重要なのかは例を出してみると、ユーザーがアプリ内で複数のビデオコンテンツを切り替える時にそのビデオをすぐに表示させたい場合は、この機能が非常に役に立ちます。
区分的輻輳制御(Piecewise Congestion Control)は、トラフィック状況に応じてネットワーク上の各ホップ(送信元と送信先の間の経路の部分)を動的に輻輳制御(congestion control)します。
SD-RTN™におけるAgoraのラストワンマイルの伝送力(Agora Last Mile Transport)はスケーラブル動画コーデック(scalable video codec、SVC)の適切なビットストリームを動的に選択し受信側のSDKへ送ることができます。
デコーディング(Decoding)
SD-RTN™がコンテンツの送信先へビデオトラフィックを最適なパスでルーティングすると、このビデオトラフィックはSD-RTN™の最終ホップとAgora SDKを使ったアプリが動いているユーザーのデバイスの間にあるラストワンマイル(the last mile)をあらためて乗り越える必要があります。Agora SDKがストリームに対しては、以下のケイパビリティを持って最適なデコーディングをサポートしています。
ジッターバッファ(Jitter Buffer)は受信したビデオパケットを一時的に保管し、均一な再生速度を実現するために必要に応じて順番の並べ替えを行います。このジッターバッファは適応性のある特徴があり、ユーザーのネットワークの通信状況に応じて動的に調整できるので、リアルタイムにビデオストリームを配信する時によくあるジッターとパケットロスの問題が改善しています。ジッターバッファは実際の配信状況によく合わせて調整することで、レイテンシーとオンライン配信の品質のバランスを取っています。
Agoraのコーディング技術(ACT)がサポートするコーデック(例:H.264, H.265, VP8, VP9, AV1など)でソフトウェアとハードウェアデコーディング(Software and hardware decoding)します。ソフトウェアとハードウェアデコーダーの組み合わせは、このビデオのデコーディングプロセスの加速とレイテンシーの軽減に効果があります。
後処理(Post-Processing)
ユーザーに最適な視聴体験を提供するために、ビデオストリームが送信先に送られてリアルタイムにデコーディングされると、このビデオストリームはこの最後の映像配信処理の段階にてさらに品質が強化されます。
自動調整(Auto-Adjust)機能はリアルタイムに稼働状況を監視する、またデバイスのリソース消費が多すぎる機能の設定を自動的に再構成することで、デバイスのパフォーマンスの問題や過熱を防ぎます。
スーパークラリティ(Super Clarity)はディープラーニングを利用して、デバイスのCPUリソース消費を最小限に抑えつつ同じ解像度でユーザーにもっとクオリティーが良いビデオ映像を送ります。
超解像技術(Super Resolution)は、ビデオ映像の解像度をアップスケールして実物そっくりな鮮やかなビデオコンテンツをエンドユーザーに送ります。この技術も画面共有するコンテンツを見事に表示することができます。
ビデオ品質評価(Video Quality Assessment、VQA)はディープラーニングを利用して、ビデオ視聴のクオリティーをリアルタイムに評価します。
結論
AgoraのAVO技術(Adaptive Video Optimization™)は、ビデオキャプチャーの段階から再生まで全てのステップにおいて最適なクオリティーでユーザーにライブ映像配信を提供します。
良いユーザーエクスペリエンスを創るための必要な三つのポイントとなる「映像の品質」、「スムーズな映像配信」と「超低遅延」を活かして、AVOはライブ映像配信のエクスペリエンスを改善しました。安定性のある優れた品質での視聴体験を視聴者に提供するほか、エンドユーザーのエンゲージメントも高めています。
超低遅延、安定して高いビデオフレームレートで配信し続ける、またフレームがフリーズするレートを下げるなどで、パケットロスが起きる厳しいネットワーク状況においてもAVOは他社のSDKよりスムーズで問題がないリアルタイムのエクスペリエンスをユーザーに提供することができます。知覚ビデオコーディング(PVC)とスーパークラリティなどのデフォルト機能にて配信映像の品質を良くして、AVOは細部まで配信映像の品質にこだわり、映像を鮮やかにレンダリングし綺麗に仕上げてスムーズに問題なくユーザーへ配信するといった特徴で誰も勝てない映像配信エクスペリエンスをユーザーに提供しています。
ユーザーエクスペリエンスを高めるこれらの機能は、Agora Liveアプリから体験できます。現在、AndroidユーザーにGoogle Playストアを通して提供しています。iPhoneユーザーはAppleのApp Storeからインストールできます。
無料でAgoraをご体験いただけます。
こちらからサインアップし、リアルタイムの音声とビデオ通話を実装してみましょう!
利用分数が多くなければ料金は発生しません。
執筆者ブイキューブ