ABR
Adaptive Bitrate Streaming / エービーアール
同じ映像を複数の画質とビットレートで用意しておき、視聴者の回線速度に合わせてプレイヤーが途中で切り替えながら再生する配信方式です。HLSやMPEG-DASHで使われ、動画配信サービスで再生を止めにくくする基本の仕組みです。
- 正式名称
- Adaptive Bitrate Streaming
- 主な配信方式
- HLS、MPEG-DASH(CMAFで素材を共通化できる)
- 用意する画質の組
- ビットレートラダー(ラダー)と呼ぶ
- 切り替えの単位
- セグメント(数秒ごとに区切ったファイル)
- 切り替えを決める側
- プレイヤー(視聴者の端末)
- 画質の一覧を書いたファイル
- HLSはマルチバリアントプレイリスト(.m3u8)、DASHはMPD
- エンコードの前提
- すべての画質でキーフレームの位置をそろえる
動画配信サービスで再生を始めた直後は画面がぼやけていて、数秒たつとくっきりしてくる。これはABRが働いている様子で、プレイヤーが回線の速さを測りながら、より高い画質のファイルへ順に乗り換えています。回線が細くなれば逆に画質を下げ、再生が止まるのを防ぎます。
ABR配信が使われる場面
YouTubeやNetflixをはじめ、ほとんどの動画配信サービスがABRで配信しています。スマートフォンがWi-Fiからモバイル回線に切り替わっても再生が続くのは、この仕組みのおかげです。
ライブ配信では、エンコーダーやクラウドの変換サービスが、1本の入力から1080p、720p、480pといった複数の画質を同時に作り、HLSやMPEG-DASHの形で配信します。ビデオ・オン・デマンドでは、配信プラットフォームに高画質の1本をアップロードすると、プラットフォーム側で複数の画質を自動で作るのが一般的です。配信事業者への番組の納品でも、ABR用の複数の画質は配信側で作るので、制作側が納めるのは高画質の元ファイル1本という形が多くなります。
ABRの仕組み
まず、同じ映像を複数の解像度とビットレートでエンコードします。この画質の組をビットレートラダーと呼び、たとえば1080pで6Mbps、720pで3Mbps、480pで1.5Mbpsのように段を作ります。それぞれの画質を数秒ごとのセグメントに区切り、どの画質がどこにあるかを一覧にしたファイル(HLSならマルチバリアントプレイリスト、DASHならMPD)を用意します。
プレイヤーは、セグメントをダウンロードするのにかかった時間から回線の速さを推定し、手元に溜まっている再生待ちの量(バッファ)も見ながら、次にどの画質のセグメントを取りに行くかを決めます。切り替えはセグメントの境目で行われるので、視聴者には画質が段階的に変わるように見えます。判断の方法にはいくつもの流儀があり、dash.jsが実装しているBOLAのように、バッファの量を主な手がかりにする方式もあります。
ABRのラダー設計・エンコードで間違えやすい点
ABRで起きる不具合の多くは、エンコードの段階で作られます。
- 画質ごとにキーフレームの位置がずれている。切り替えの瞬間に映像が乱れたり止まったりするので、GOPの長さを固定し、全画質で同じ位置にキーフレームを置く
- いちばん低い段のビットレートが高すぎて、混んだモバイル回線では最低画質でも止まる
- 段と段の間隔が広すぎて、切り替わるたびに画質の変化が目立つ
- アニメとスポーツのように性質の違う映像に同じラダーを使い、どちらかで帯域を無駄にしている。映像ごとにラダーを変える方法は、Netflixが2015年にper-title encodingとして公表している
仕組みの全体像はHLSとMPEG-DASHの違いとは?セグメント配信とABRの仕組みを解説で詳しく扱っています。
よくある質問
ABRとHLSの違いは何ですか
ABRは「回線に合わせて画質を切り替える」という配信の考え方で、HLSはそれを実現するための具体的な方式の1つです。MPEG-DASHも同じくABRを実現する方式です。
ABR配信で画質が上がらないのはなぜですか
プレイヤーが回線の速さを低く見積もっているか、ラダーの上の段が用意されていないかのどちらかであることが多いです。端末の画面サイズに合わせて、プレイヤーがあえて高い画質を選ばない設定になっている場合もあります。
エンコード設定のABRと配信のABRは同じものですか
別のものです。エンコーダーの設定にある「ABR」は平均ビットレート(Average Bitrate)を指すレート制御の方式で、1本のファイルのビットレートの決め方です。配信のABRは、複数の画質を切り替えて再生する仕組みを指します。
この用語を扱ったコラム
似ている形式との違い
| 名前 | 主に使う場面 | ABRとの違い |
|---|---|---|
| HLS | ABRを実現する配信方式 | ABRは考え方の名前で、HLSはそれを実装した具体的なプロトコル |
| 平均ビットレート(ABR) | エンコードの設定 | エンコーダーのレート制御でも同じ略称が使われる。配信のABRとは別物 |
| プログレッシブダウンロード | 単一ファイルの再生 | 1本のMP4を先頭から読み込む方式。回線が遅いと止まり、途中で画質は変わらない |
関連する用語
最終更新
