a) Prinsippet bak ABR (Adaptive Bitrate):
Klienten ber om segmenter via HTTP-GET, og måler hvor lang tid hver nedlasting tok. Estimert tilgjengelig båndbredde = (segmentstørrelse i bits) / (nedlastingstid). Glatting med eksponentielt vektet snitt eller tilsvarende reduserer effekten av enkelt-«bumps».
I tillegg overvåker klienten buffer-fylling: hvor mange sekunder med video er klar til avspilling? Lavt buffer-nivå = fare for stalling, høyt nivå = trygt å satse på høyere kvalitet.
Beslutningsregelen kombinerer båndbredde-estimat (vil neste segment kunne lastes ned i tide?) og buffer-nivå (har vi margin til å eksperimentere?). Klassiske algoritmer er BBA (Buffer-Based Adaptation), MPC (Model Predictive Control) og Pensieve (RL-basert).
b) Velge variant under 3 Mbps:
Den nest høyeste varianten (2,5 Mbps) er fornuftig. Velger man 5 Mbps, vil nedlastingen ta lenger tid enn segmentets 4 sekunder, og bufferen tappes. Velger man 2,5 Mbps, har man margin: nedlastingen tar 4 × (2,5 / 3) ≈ 3,3 sekunder per 4-sekund-segment, så bufferen vokser sakte.
Marginen tjener flere formål: (1) variansen i båndbredden — momentane dropp er vanlige; (2) andre HTTP-objekter som konkurrerer om båndbredden; (3) ACK- og protokolloverhead som ikke er regnet inn i de nominelle bitratevariantene.
c) Strategi ved plutselig båndbreddefall:
Med 30 sekunder buffer kan klienten fortsette på samme bitrate i kort tid mens den observerer om båndbreddefallet er stabilt eller midlertidig. Buffer-nivået vil tappes med ca. 1 sek per sek for hver sek mens nedlasting går saktere enn forbruk.
Hvis fallet vedvarer, må klienten bytte til 400 kbps (under 700 kbps med margin). Hvis klienten venter for lenge, risikerer den buffer-tørke og rebuffering — det er den verste opplevelsen for brukeren (verre enn lavere kvalitet).
Dette er kjernen i ABR-tradeoffet: kvalitet vs. kontinuitet. En 30-sekunders buffer gir tid til å «test ride» problemet, men ikke uendelig tid. Smart algoritmer (MPC) modellerer både fremtidig båndbredde og buffer-nivå og optimaliserer en kostnadsfunksjon som inkluderer både opplevd kvalitet og rebuffering-tid.
Pensum: Kap. 9 — DASH og adaptiv bitrate