# 適応ビットレートストリーミング ## 定義 適応ビットレートストリーミング(Adaptive Bitrate Streaming, ABR)とは、動画配信において利用可能なネットワーク帯域の変動に合わせて配信する動画の品質(ビットレート)を動的に切り替える方式である。MPEGのような動画符号化方式は符号化パラメータ(量子化テーブル・フレームレート等)を変えることで帯域と画質のトレードオフを調整できる自由度を持ち、これが適応の基盤になる。動画オンデマンドサービスでは、リアルタイムに再符号化するのではなく、あらかじめ複数の品質レベルで動画を符号化しファイル群として保存しておき、受信側がネットワーク状況の測定結果に応じて要求するファイルの品質を切り替える方式が一般的である。(Source: [[@2020__SystemsApproach__Computer Networks - A Systems Approach - Chapter 7 End-to-End Data]] §7.2.4) ## チャンクベースの配信機構 動画は品質レベル(N段階)×セグメント(M個、通常GOP境界に揃えた数秒単位)の N×M 個のチャンク(ファイル)として事前に用意される。受信側は動画全体を一括で要求するのではなく、短いセグメント単位で順に要求し、各セグメントの境界を新たな品質決定のタイミングとして利用する。受信側の再生バッファ(playback queue)の充填状況を監視し、バッファが十分あれば高品質を、少なくなれば低品質を要求する。この方式はチャンク単位で動画中の任意の位置へジャンプする*トリックプレイ*も実装しやすくする副次的な利点を持つ。(Source: [[@2020__SystemsApproach__Computer Networks - A Systems Approach - Chapter 7 End-to-End Data]] §7.2.4) チャンクの要求は個々のHTTP GETリクエストで行われ、再生開始時にまず全チャンクのURLを列挙した*マニフェスト*ファイルを取得してから、状況に応じたURLで逐次リクエストする。この方式全体を**HTTPアダプティブストリーミング**と呼び、MPEGの**DASH**(Dynamic Adaptive Streaming over HTTP)とAppleの**HLS**(HTTP Live Streaming)が代表的な標準である。標準ごとにマニフェスト形式・チャンクの命名規則などの細部が異なる。(Source: [[@2020__SystemsApproach__Computer Networks - A Systems Approach - Chapter 7 End-to-End Data]] §7.2.4) ## TCPの輻輳制御との類比と相違 原文は、この帯域適応の考え方を「TCPの挙動に類似する」と位置づけつつ、決定的な違いを明示する。TCPは固定量のデータを送るのにかかる時間(レート)を輻輳に応じて変えるのに対し、動画配信では遅延を持ち込みたくないため送信データの総量(=品質レベル)そのものを変える。すなわちTCPの輻輳制御が「時間軸上のレート」を調整するのに対し、ABRは「空間軸上の情報量(圧縮率)」を調整する、という設計目標の違いがある。(Source: [[@2020__SystemsApproach__Computer Networks - A Systems Approach - Chapter 7 End-to-End Data]] §7.2.4) ## 横断的知見 現時点でこの concept を支えるソースは『Computer Networks: A Systems Approach』第7章の1件のみであり、複数ソースの突き合わせで得られる知見はまだない。CDN計測システムのようなインターネット計測基盤や、Netflixの配信インフラに関する追加ソースが取り込まれ次第、ABRのクライアント側品質選択とCDN側のPoP/経路選択がどう連携するかを横断的に整理する。 ## 未解決の問い - 受信側の品質選択アルゴリズム(バッファ充填量に基づく閾値判定)は、原文では詳細が示されていない。実際のDASH/HLSクライアント実装(例: Netflixのプレイヤー)がどのようなアルゴリズム(バッファベース・スループット予測ベース・ハイブリッド)を採用しているか。 - ABRのチャンク単位の品質切り替えとMPEGのGOP構造(I/P/Bフレームの依存関係)の相互作用: 品質レベルを切り替えるタイミングがGOP境界に限定される制約は、セグメント長の選択(数秒単位)にどう影響するか。 - CDN計測システム([[CDN計測システム]])が扱うようなPoP選択・DNSリダイレクションと、クライアント側のABR品質選択は独立に最適化されるのか、それとも協調する仕組みがあるのか。 ## 関連 - ソース: [[@2020__SystemsApproach__Computer Networks - A Systems Approach - Chapter 7 End-to-End Data]] - 概念: [[CDN計測システム]] - エンティティ: [[Netflix]] ## 出典 - [[@2020__SystemsApproach__Computer Networks - A Systems Approach - Chapter 7 End-to-End Data]](§7.2.4、HTTPアダプティブストリーミング・DASH/HLS・TCP輻輳制御との対比)