PL227259B1 - Sposób i urzadzenie odbiorcze do adaptacyjnego pobierania tresci multimedialnych - Google Patents

Sposób i urzadzenie odbiorcze do adaptacyjnego pobierania tresci multimedialnych

Info

Publication number
PL227259B1
PL227259B1 PL412498A PL41249815A PL227259B1 PL 227259 B1 PL227259 B1 PL 227259B1 PL 412498 A PL412498 A PL 412498A PL 41249815 A PL41249815 A PL 41249815A PL 227259 B1 PL227259 B1 PL 227259B1
Authority
PL
Poland
Prior art keywords
buffer
buf
representation
length
value
Prior art date
Application number
PL412498A
Other languages
English (en)
Other versions
PL412498A1 (pl
Inventor
Piotr Krawiec
Jordi Mongay Batalla
Andrzej Bęben
Andrzej Beben
Piotr Wiśniewski
Piotr Wisniewski
Original Assignee
Inst Łączności Państwowy Inst Badawczy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inst Łączności Państwowy Inst Badawczy filed Critical Inst Łączności Państwowy Inst Badawczy
Priority to PL412498A priority Critical patent/PL227259B1/pl
Publication of PL412498A1 publication Critical patent/PL412498A1/pl
Publication of PL227259B1 publication Critical patent/PL227259B1/pl

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

Opis wynalazku
Przedmiotem wynalazku jest sposób i urządzenie odbiorcze do adaptacyjnego pobierania treści multimedialnych mające zastosowanie w sieciach pakietowych, w tym w sieci Internet, a zwłaszcza dla systemu DASH, z metodą wyboru poziomu jakości treści multimedialnej oraz wymiarowania bufora.
Znane, nowoczesne systemy dostarczania treści multimedialnych w sieci Internet bazują na adaptacyjnych mechanizmach strumieniowania treści, przy czym termin adaptacja definiujemy jako zbiór czynności modyfikacyjnych mających na celu poprawę jakości odbioru treści multimedialnych w sytuacji, gdy warunki transferu mediów przez sieć ulegają zmianie. W zależności od elementów, które podlegają adaptacji, możemy wprowadzić podział na adaptację sieci dostępowych, adaptację źródła treści, itd. Przez wzgląd na dominację ruchu multimedialnego w sieci Internet, największą uwagę skupia adaptacja mediów, która polega na transformacji treści multimedialnych poprzez zmianę ich szybkości bitowej, w celu dopasowania do aktualnych możliwości sieci oraz urządzeń końcowych.
Znane, szeroko rozpowszechnione mechanizmy strumieniowania adaptacyjnego korzystają z protokołu HTTP, przez wzgląd na prostotę wdrożenia takiego rozwiązania: możliwość wykorzystania już dostępnej infrastruktury serwerowej, jak również łatwość przenoszenia ruchu także wówczas, gdy dostęp do terminali klienckich kontrolowany jest przez mechanizmy typu zapora sieciowa (ang. firewall) czy NAT (ang. Network Address Translation). Spośród tej grupy szczególnego znaczenia nabierają rozwiązania zgodne z otwartym standardem DASH (Dynamie Adaptive Streaming over HTTP): ISO/IEC 23009-1:2014 „Information technology - Dynamic adaptive streaming over HTTP (DASH) - Part 1: Media presentation description and segment formats”.
Znany standard DASH definiuje format przekazywanego do klienta pliku opisu mediów MPD (ang. Media Presentation Description), nie definiuje natomiast mechanizmu wyboru reprezentacji treści multimedialnej. Powszechnie znane i obecnie stosowane mechanizmy wyboru reprezentacji wykrywają zmiany warunków sieciowych oraz podejmują decyzję odnośnie wyboru reprezentacji kolejnego segmentu głównie w oparciu o pomiar szybkości bitowej, z jaką dotychczas pobierane były wcześniejsze segmenty z serwera treści (np. metoda przedstawiona w artykule C. Liu, I. Bouazizi, M. Gabbouj “Rate adaptation for adaptive HTTP streaming”, zaprezentowanym na konferencji ACM Multimedia Systems, 23-25 lutego 2011 r., czy też metoda przedstawiona w artykule K. Miller i in. “Adaptation Algorithm for Adaptive Streaming over HTTP”, zaprezentowanym na konferencji Packet Video Workshop, 2012). Bazując na zmierzonych wartościach szybkości bitowej pobierania segmentów mechanizmy te dokonują estymacji przepływności bitowej aktualnie dostępnej w sieci, następnie zaś wybierają reprezentację o najwyższej szybkości bitowej będącej poniżej estymowanej wartości. Główna różnica pomiędzy tymi rozwiązaniami wynika z zastosowania różnych technik estymacji aktualnie dostępnej przepływności w oparciu o zmierzoną szybkość pobierania segmentów. Najbardziej popularne mechanizmy estymują dostępną przepływność poprzez wyznaczenie wartości średniej ze zbioru próbek zmierzonej szybkości pobierania segmentów.
Znany z patentu WO 2014/082942 A1 pt. “Method and client apparatus for receiving an HTTP adaptive streaming video” sposób zakłada, że wyniki pomiarów szybkości bitowej pobierania segmentów kolekcjonowane są w bazie danych, następnie zaś służą do stworzenia histogramu szybkości bitowej pobierania segmentów, z którego wyznaczany jest kwantyl ekstrapolujący aktualnie dostępną przepływność w sieci.
Znane są metody wyboru reprezentacji treści bazujące na obserwacji aktualnej zajętości bufora odtwarzacza audio/wideo, bądź też na analizie szybkości zmian w wypełnieniu tego bufora, jak np. metoda znana z patentu US 2014/0280760 A1 pt. „Playback stall avoidance in adaptive media streaming”; metoda przedstawiona w artykule T. Huang, R. Johari, N. McKeown “Downton Abbey Without the Hippcus: Buffer-Based Rate Adaptation for HTTP Video Streaming”, zaprezentowana na konferencji ACM Workshop on Future Human-Centric Multimedia Networking, 2013; metoda przedstawiona w artykule Te-Yuan Huang i in. “A Buffer-Based Approach to Rate Adaptation: Evidence from a Large Video Streaming Service”, zaprezentowana na konferencji ACM SIGCOMM, 2014, czy metoda przedstawiona w artykule Hung T. Le i in. “Buffer-based Bitrate Adaptation for Adaptive HTTP Streaming”, zaprezentowanym na konferencji International Conference on Advanced Technologies for Communications (ATC'13), 2013. Metoda znana z patentu US 2014/0156863 A1 pt. “DASH Client and Receiver with a download rate estimator” estymuje szybkość bitową pobierania segmentów przy założeniu, że wielkość okna estymacji zależy od aktualnego wypełnienia bufora. Jest to wadą metody, gdyż im bufor bardziej wypełniony, tym większe okno estymacji, a zatem algorytm estymacji mniej jest podatny na
PL 227 259 B1 chwilowe zmiany w szybkości pobierania. Również decyzja o zmianie reprezentacji podejmowana jest z uwzględnieniem aktualnego wypełnienia bufora, co jest wadą rozwiązania.
Wady znanych rozwiązań polegają również na tym, że znane obecnie rozwiązania przyjmują stały rozmiar bufora przez cały czas trwania sesji pobierania i odtwarzania treści multimedialnej. Określenie prawidłowej długości bufora przy dużej zmienności warunków panujących w sieci, w której realizowany jest przekaz treści multimedialnej, nie jest zadaniem trywialnym, gdyż wymaga uwzględnienia dwóch, częściowo sprzecznych założeń. Zbyt długi bufor wydłuża proces adaptacji w sytuacji, kiedy warunki w sieci ulegają poprawie, gdyż segmenty wyższej reprezentacji zostaną odtworzone dopiero po odtworzeniu wcześniej zbuforowanych segmentów niższej reprezentacji. Z kolei bufor o zbyt małej długości może być przyczyną wystąpienia zdarzeń zatrzymania odtwarzania treści multimedialnej z powodu braku w buforze segmentów pobranych z serwera treści.
Sposób do adaptacyjnego pobierania treści multimedialnych według wynalazku charakteryzuje się tym, że dokonuje się pomiaru czasu SDT pobierania segmentu oraz pomiaru czasu RTD opóźnienia w pętli, po czym wyznacza się estymowaną wartość czasu RTDest opóźnienia w pętli oraz zapamiętuje się zmierzony czas SDTi pobierania segmentu wraz z reprezentacją Ri aktualnie pobranego segmentu. Następnie dokonuje się estymacji rozkładu Pr{A(Q)=a} dyskretnej zmiennej losowej Α(Ω) opisującej liczbę segmentów napływających do aplikacji klienta w określonym przedziale czasu Ω równym czasowi odtwarzania jednego segmentu. Rozkład ten może być zapisany w postaci następującego równania:
α = 0
- + S — τ} x Pr(S > Ω — τ] άτ,
-i a = 1,, oo
Estymację rozkładu dyskretnej zmiennej losowej Λ(Ω) algorytmu adaptacji przeprowadza się w sposób numeryczny. Algorytm numerycznej estymacji rozkładu Pr{A(())=a} rozpoczyna się od obli2 czenia wartości średniej μ oraz wariancji σ dla przechowywanego zbiór próbek zmierzonych czasów
SDT pobierania segmentu. Następnie tworzy się zbiór S składający się z L losowych liczb, większych 2 od zera, wygenerowanych zgodnie z rozkładem normalnym o parametrach μ i σ (S: s1, ..., sL), po czym wyznacza się kolejne wartości zmiennej losowej Λ(Ω) poprzez zliczenie ilości liczb z uszeregowanego ciągu s1, ..., sL trafiających do kolejnych przedziałów czasowych Ω, po czym oblicza się rozkład zmiennej losowej Pr{A(())=a} poprzez podzielenie liczby wystąpień wartości a w zbiorze Α(Ω) przez liczbę wszystkich wartości zbioru A(i’). Następnie wyznacza się minimalną długość kolejki K, dla systemu kolejkowego modelującego bufor. Minimalną długość kolejki Ki oblicza się w oparciu o następujący układ równań Markowa:
rP° = (P° + P1) x PrMCfi) = 0} , pn = Pc x Pr{4(fl) - + Y Pn+1-° x Pr{/(fi) = a}, n=l,...,łC-2
gdzie Pr{A(())=a} oznacza rozkład dyskretnej zmiennej losowej A(i’).
Następnie wyznacza się wartość długości Bi bufora, dla której prawdopodobieństwo wystąpienia zdarzenia zatrzymania odtwarzania treści multimedialnej jest mniejsze od ε, jako sumę wartości długości kolejki Ki oraz sufitu (tj. cechy górnej) liczby będącej iloczynem liczby NSDT pobranych segmentów, współczynnika Y oraz ilorazu estymowanej wartości czasu opóźnienia w pętli RTDest przez czas odtwarzania jednego segmentu Ω:
PL 227 259 B1
Następnie sprawdza się, czy wyznaczona wartość Bi bufora nie jest większa niż maksymalna długość M bufora. Wyznaczona wartość Bi większa niż maksymalna długość M bufora wskazuje na konieczność przeprowadzenia adaptacji poprzez zmianę reprezentacji żądanych segmentów na niższą. W tym celu dokonuje się powtórnego wyznaczenia długości bufora Bi* zgodnie z procedurą przedstawioną powyżej, ale przy założeniu wyboru reprezentacji Ri-1 niższej o jeden od aktualnej reprezentacji Ri, po uprzednim przeskalowaniu zbioru próbek czasów SDT do wartości odpowiadających reprezentacji Ri-1. Wyznaczoną wartość długości Bi* bufora zapisuje się do zmiennej Bd, określającej docelową długość bufora, zaś wartość reprezentacji Ri-1 zapisuje się do zmiennej Rd określającej reprezentację docelową. Procedurę powtórnego wyznaczenia długości Bi* bufora wykonuje się cyklicznie do momentu, aż wyznaczona wartość długości Bi* bufora jest mniejsza lub równa maksymalnej długości M bufora. Jeżeli powyższy warunek zostanie spełniony, wówczas wyznaczone wartości reprezentacji oraz długości Bi* bufora zapisuje się jako wartości reprezentacji docelowej Rd oraz docelowej długości Bd bufora, które są danymi wyjściowymi.
Jeżeli natomiast wyznaczona początkowo wartość Bi jest mniejsza niż wartość M określająca maksymalną długość bufora, następuje wykonanie procedur adaptacyjnych dotyczących zmiany reprezentacji na wyższą i w tym celu wartość Bi jest zapisywana do zmiennej Bd, następnie zaś dokonuje się powtórnego wyznaczenia długości Bi* bufora zgodnie z procedurą przedstawioną powyżej, ale przy założeniu wyboru reprezentacji Ri+1 wyższej o jeden od aktualnej reprezentacji Ri, po uprzednim przeskalowaniu zbioru próbek czasów SDT do wartości odpowiadających reprezentacji Ri+1, przy czym tę procedurę wykonuje się cyklicznie, za każdym razem zwiększając reprezentację o jeden, do momentu aż wyznaczona wartość długości Bi* bufora będzie większa od maksymalnej długości M bufora pomnożonej przez współczynnik (1 -β), a jeżeli powyższy warunek zostanie spełniony, wówczas wyznaczone wartości reprezentacji Ri+1 oraz długości Bi* bufora zapisuje się jako wartości reprezentacji docelowej Rd oraz docelowej długości Bd bufora, które są danymi wyjściowymi.
Urządzenie odbiorcze do adaptacyjnego pobierania treści multimedialnych według wynalazku charakteryzuje się tym, że wejście modułu pobierania pliku MPD połączone jest z interfejsem lokalnym WE/WY połączonym wejściem i wyjściem z odtwarzaczem audio/wideo, a wyjście modułu pobierania pliku MPD połączone jest z wejściem modułu adaptacji, połączonego wyjściem i wejściem z modułem pobierania, połączonym poprzez wyjście oraz wejście z interfejsem WE/WY, połączonym przez wyjście i wejście z siecią pakietową, która jest połączona z serwerem treści, a ponadto moduł pobierania połączony jest z wejściem bufora, a moduł adaptacji połączony jest z wejściem bufora, którego wyjście połączone jest z interfejsem lokalnym WE/WY, a ponadto moduł pobierania pliku MPD jest połączony poprzez wyjście i wejście z interfejsem WE/WY.
Zaletą urządzenia i sposobu według wynalazku jest (przy zastosowaniu w systemie adaptacyjnego strumieniowania treści multimedialnych zgodnym ze standardem DASH) umożliwienie pobierania treści multimedialnych, za pomocą mechanizmu adaptacyjnego pobierania, odtwarzaczom audio/wideo nie przystosowanym do współpracy z systemem adaptacyjnego strumieniowania treści multimedialnych, a obsługującym protokół HTTP. Zalety urządzenia i metody adaptacji i wymiarowania bufora według wynalazku, w odniesieniu do wcześniej omówionych, znanych rozwiązań, szczególnie dotyczących sposobów adaptacji mediów, są następujące: Urządzenie pozwala zastosować sposób adaptacyjnego pobierania treści multimedialnych w przypadku odbiorników nie posiadających funkcjonalności adaptacyjnego pobierania treści multimedialnych, a obsługujących protokół HTTP (np. odbiorniki Smart TV); w ten sposób urządzenie pozwala znacząco poprawić postrzeganą przez użytkownika jakość odbioru treści multimedialnych w charakteryzującym się dużą zmiennością środowisku sieci pakietowych. Zastosowany w urządzeniu według wynalazku sposób opiera się na aproksymacji procesu pobierania segmentów, wyznaczając na podstawie zmierzonych wartości rozkład tego procesu oraz jego parametry, podczas gdy proponowane dotychczas rozwiązania bazują głównie na estymacji wartości średniej. Dodatkowo sposób adaptacji według wynalazku dokonuje predykcji zajętości bufora po zmianie reprezentacji segmentów planowanych do pobrania w przyszłości. Dzięki temu metoda według wynalazku, w porównaniu z dotychczas proponowanymi rozwiązaniami, umożliwia szybszą reakcję na występujące w sieci duże zmiany dostępnej przepływności. Zastosowany w urządzeniu sposób umożliwia sterowanie rozmiarem bufora w trakcie procesu odtwarzania treści multimedialnej pobieranej ze zdalnego serwera treści, dopasowując rozmiar bufora do aktualnie obserwowanych zmian szybkości pobierania segmentów; podczas gdy proponowane dotychczas rozwiązania przyjmują stały rozmiar bufora na cały okres odtwarzania treści multimedialnej. Zastosowany w urządzeniu sposób zapewnia jednoczesną adaptację do zmian dostępnej w sieci przepustowości występuPL 227 259 B1 jących w różnych skalach czasowych. Zmiany krótkookresowe niwelowane są poprzez dopasowanie rozmiaru bufora do aktualnie obserwowanych zmian szybkości pobierania segmentów, podczas gdy zmiany długookresowe są kompensowane za pomocą mechanizmu zmiany szybkości bitowej pobieranego strumienia multimedialnego.
Urządzenie odbiorcze dla systemu adaptacyjnego pobierania treści multimedialnych jest przedstawione w przykładzie wykonania na rysunku, na którym:
fig. 1 prezentuje schemat działania urządzenia odbiorczego według wynalazku dla systemu adaptacyjnego pobierania mediów;
fig. 2 prezentuje schemat blokowy urządzenia odbiorczego według wynalazku;
fig. 3 przedstawia definicję czasu RTDi opóźnienia w pętli oraz czasu SDTi pobierania segmentu;
fig. 4 prezentuje realizację wyboru reprezentacji oraz wyznaczanie długości bufora przez urządzenie według wynalazku;
fig. 5 prezentuje metodę estymacji rozkładu dyskretnej zmiennej losowej Α(Ω) opisującej liczbę segmentów pobieranych z serwera w określonym przedziale czasu Ω przez urządzenie według wynalazku;
fig. 6 prezentuje system kolejkowy modelujący bufor urządzenia odbiorczego;
fig. 7 wskazuje reprezentację niższą/wyższą o jeden od reprezentacji aktualnej w zbiorze reprezentacji zawartych w pliku opisu mediów MPD.
Sposób adaptacyjnego pobierania treści multimedialnych według wynalazku ma na celu wyznaczenie odpowiedniej długości bufora (BUF) urządzenia odbiorczego dla kompensacji obserwowanych fluktuacji szybkości bitowej pobierania segmentów oraz wyznaczenie reprezentacji pobieranego segmentu. Sposób opiera się na aproksymacji procesu pobierania segmentów, i wyznacza na podstawie zmierzonych wartości rozkład tego procesu oraz jego parametry, przyjmując jako dane wejściowe czasy pobierania segmentów z serwera treści ST.
Realizacja wyboru reprezentacji oraz wyznaczenia długości bufora BUF ma na celu utrzymanie prawdopodobieństwa wystąpienia zdarzenia zatrzymania odtwarzania treści multimedialnej poniżej pewnej określonej wartości ε, poprzez dobór optymalnej (tj. najwyższej, a więc zapewniającej jak największą jakość odbioru treści multimedialnej przez użytkownika) reprezentacji Ri umożliwiającej spełnienie powyższego warunku, jak również wyznaczenie odpowiedniej długości bufora BUF dla kompensacji obserwowanych fluktuacji szybkości bitowej pobierania segmentów. Danymi wejściowymi są zmierzone wartości czasu SDT pobierania segmentu (Segment Download Time), oznaczone jako SDTi (502). Jak zaprezentowano na rysunku fig. 3, próbka czasu SDTi pobierania segmentu definiowana jest jako czas upływający od momentu (504) otrzymania przez moduł pobierania MP pierwszych bajtów żądanego segmentu do momentu (505) otrzymania ostatnich bajtów żądanego segmentu.
W pierwszym kroku (601) dokonuje się pomiaru czasu SDTi pobierania segmentu oraz pomiaru czasu RTDi opóźnienia w pętli (Round Trip Delay). W następnym kroku (602) wyznacza się estymowaną wartość czasu RTDest opóźnienia w pętli oraz zapamiętuje zmierzony czas SDTi pobierania (502) wraz z reprezentacją Ri aktualnie pobranego segmentu.
W oparciu o przechowywany przez moduł adaptacji MA zbiór próbek czasów SDT dokonuje się (603) estymacji rozkładu Pr{A(())=a} dyskretnej zmiennej losowej Λ(Ω) opisującej liczbę segmentów napływających do aplikacji klienta w określonym przedziale czasu Ω równym czasowi odtwarzania jednego segmentu. Rozkład ten może być zapisany w postaci następującego równania:
przy założeniu, że: 1) czasy SDTi pobierania segmentów treści są opisane zmiennymi losowymi S niezależnymi i o jednakowym rozkładzie, a więc posiadającymi własność IID (ang. Independent and Identically Distributed), 2) s > 0 dla każdego s e S, 3) resztkowy czas pobierania segmentu, pozostały z poprzedniego okresu Ω, opisany jest zmienną losową Y.
Estymację rozkładu dyskretnej zmiennej losowej A(r>) w kroku 3 (603) przeprowadza się w sposób numeryczny. Algorytm numerycznej estymacji rozkładu Pr{A(())=a} przedstawiony jest na rysunku
PL 227 259 B1 2 fig. 5. Rozpoczyna się on od obliczenia wartości średniej μ oraz wariancji σ dla przechowywanego zbiór próbek zmierzonych czasów SDT pobierania segmentu (701). W kolejnym kroku (702) tworzy się zbiór S składający się z L losowych liczb, większych od zera, wygenerowanych zgodnie z rozkładem 2 normalnym o parametrach μ i σ (S: s1, ..., sL). Kolejne wartości zmiennej losowej Α(Ω) wyznacza się poprzez zliczenie ilości liczb z uszeregowanego ciągu s1, sL trafiających do kolejnych przedziałów czasowych Ω. (703). W ostatnim kroku (704) oblicza się rozkład zmiennej losowej Pr{A(())=a} poprzez podzielenie liczby wystąpień wartości a w zbiorze A(<2) przez liczbę wszystkich wartości zbioru A(i’).
Kolejny etap (604) sposobu według wynalazku polega na wyznaczeniu minimalnej długość kolejki Ki dla systemu kolejkowego modelującego bufor BUF. Model ten, zaprezentowany na rysunku fig. 6, zakłada deterministyczny czas obsługi segmentu Ω i proces napływu segmentów modelowany zmienną losową Α(Ω). Wartość długości kolejki Ki wyznaczana jest przy założeniu spełnienia warunku, że prawdopodobieństwo wystąpienia zdarzenia zatrzymania odtwarzania treści multimedialnej, tj. prawdopodobieństwo, że w obserwowanym czasie równym czasowi obsługi segmentu Ω w systemie znajdowało się 0 lub 1 segmentów i nie napłynął żaden nowy segment, jest mniejsze niż założona wartość ε.
Minimalną długość kolejki Ki oblicza się w oparciu o następujący układ równań wyznaczony zgodnie z teorią łańcuchów Markowa:
gdzie Pr{A(())=a} oznacza rozkład dyskretnej zmiennej losowej Α(Ω). Wówczas warunek wyznaczenia wartości Ki jest następujący: P0i (Ki) < ε, gdzie stan ustalony systemu P0i (Ki) odnosi się do sytuacji, kiedy następuje zatrzymanie odtwarzania treści multimedialnej (tj. w stanie tym, w obserwowanym czasie równym czasowi obsługi Ω w systemie znajdowało się 0 lub 1 segmentów i nie napłynął żaden nowy segment).
Ostatecznie, w kroku 5 (605), wyznacza się wartość długości Bi bufora BUF, dla której prawdopodobieństwo wystąpienia zdarzenia zatrzymania odtwarzania treści multimedialnej jest mniejsze od ε, jako sumę wartości długości kolejki Ki oraz sufitu (tj. cechy górnej) liczby będącej iloczynem liczby Nsdt pobranych segmentów, współczynnika T, który odzwierciedla niestacjonarność procesu napływu segmentów, oraz ilorazu estymowanej wartości czasu opóźnienia w pętli RTDest przez czas odtwarzania jednego segmentu Ω:
nsdt + ^SDT
W kolejnym kroku (606) sprawdza się, czy wyznaczona wartość Bi bufora BUF nie jest większa niż maksymalna długość M bufora BUF. Wyznaczona wartość Bi większa niż maksymalna długość M bufora BUF wskazuje na konieczność przeprowadzenia adaptacji poprzez zmianę reprezentacji żądanych segmentów na niższą. W tym celu w kroku 7a (607) dokonuje się powtórnego wyznaczenia dł ugości bufora Bi* zgodnie z procedurą przedstawioną powyżej w krokach 3, 4 i 5, ale przy założeniu wyboru reprezentacji Ri-1 (901) niższej o jeden od aktualnej reprezentacji Ri (902), po uprzednim przeskalowaniu zbioru próbek czasów SDT do wartości odpowiadających reprezentacji Ri-1. Jak zaprezentowano na rysunku fig. 7, jako reprezentację Ri-1 (901) niższą o jeden od aktualnej reprezentacji Ri (902) przyjmujemy reprezentację o najwyższej szybkości bitowej spośród wszystkich reprezentacji, których szybkość bitowa jest niższa od szybkości bitowej aktualnej reprezentacji. Wyznaczoną wartość długości Bi* bufora BUF zapisuje się do zmiennej Bd, określającej docelową długość bufora BUF, zaś wartość reprezentacji Ri-1 zapisuje się do zmiennej Rd określającej reprezentację docelową.
Procedurę powtórnego wyznaczenia długości Bi* bufora BUF z kroku 7a (607) wykonuje się cyklicznie do momentu, aż wyznaczona wartość długości Bi* bufora BUF stanie się mniejsza lub równa maksymalnej długość M bufora BUF. Jeżeli powyższy warunek, oznaczony jako krok 8a (609) zostanie spełniony, wówczas wyznaczone wartości reprezentacji oraz długości Bi* bufora BUF zapisuje się
PL 227 259 B1 jako wartości reprezentacji docelowej Rd oraz docelowej długości Bd bufora BUF (611), które są danymi wyjściowymi zwracanymi w kroku 10 (612).
Jeżeli natomiast wyznaczona w kroku 5 (605) wartość Bi jest mniejsza niż wartość M określająca maksymalną długość bufora BUF, następuje wykonanie procedur adaptacyjnych dotyczących zmiany reprezentacji na wyższą. W tym celu w kroku 7b (608) wartość Bi jest zapisywana do zmiennej Bd, następnie zaś dokonuje się powtórnego wyznaczenia długości B* bufora BUF zgodnie z procedurą przedstawioną powyżej w krokach 3, 4 i 5, ale przy założeniu wyboru reprezentacji Ri+1 (903) wyższej o jeden od aktualnej reprezentacji Ri (902), po uprzednim przeskalowaniu zbioru próbek czasów SDT do wartości odpowiadających reprezentacji Ri+1. Jak zaprezentowano na rysunku fig. 7, jako reprezentację Ri+1 (903) wyższą o jeden od aktualnej reprezentacji Ri (902) przyjmujemy reprezentację o najniższej szybkości bitowej spośród wszystkich reprezentacji, których szybkość bitowa jest wyższa od szybkości bitowej aktualnej reprezentacji. Procedurę z kroku 7b (608) wykonuje się cyklicznie, za każdym razem zwiększając reprezentację o jeden, do momentu aż wyznaczona wartość długości bufora B* będzie większa od maksymalnej długości M bufora BUF pomnożonej przez współczynnik (1-β). Współczynnik (1-β) ma na celu zapobieżenie efektowi oscylacyjnego przełączania pomiędzy dwoma sąsiadującymi reprezentacjami. Jeżeli powyższy warunek, oznaczony jako krok 8b (610) będzie spełniony, wówczas wyznaczone wartości reprezentacji oraz długości B* bufora BUF zapisuje się jako wartości reprezentacji docelowej Rd oraz docelowej długości Bd bufora BUF (611), które są danymi wyjściowymi zwracanymi w kroku 10 (612).
W urządzeniu odbiorczym do adaptacyjnego pobierania treści multimedialnych według wynalazku wejście (401) modułu pobierania pliku MPD (MPP) połączone jest z interfejsem lokalnym WE/WY (LIF) połączonym wejściem (402) i wyjściem (403) z odtwarzaczem audio/wideo (AV), a wyjście modułu pobierania pliku MPD (MPP) połączone jest z wejściem (409) modułu adaptacji (MA), połączonego wyjściem (408) i wejściem (407) z modułem pobierania (MP), połączonym poprzez wyjście (413) oraz wejście (411) z interfejsem WE/WY (IF), połączonym przez wyjście (414) i wejście (415) z siecią pakietową (SP), która jest połączona z serwerem treści (ST), a ponadto moduł pobierania (MP) połączony jest z wejściem (405) bufora (BUF), a moduł adaptacji (MA) połączony jest z wejściem (406) bufora (BUF), którego wyjście (404) połączone jest z interfejsem lokalnym WE/WY (LIF), a ponadto moduł pobierania pliku MPD (MPP) jest połączony poprzez wyjście (412) i wejście (410) z interfejsem WE/WY (IF).
Urządzenie odbiorcze według wynalazku ma na celu umożliwienie pobierania treści multimedialnych za pomocą mechanizmu adaptacyjnego strumieniowania odtwarzaczom audio/wideo nie przystosowanym do współpracy z systemem adaptacyjnego strumieniowania treści multimedialnych, a obsługującym protokół HTTP. Urządzenie wykorzystuje sposób wyboru poziomu jakości treści multimedialnej oraz wymiarowania bufora BUF mający na celu utrzymanie prawdopodobieństwa wystąpienia zdarzenia zatrzymania odtwarzania treści multimedialnej poniżej pewnej, określonej wartości ε, poprzez dobór optymalnej reprezentacji umożliwiającej spełnienie powyższego warunku, a zarazem zapewniającej jak największą jakość odbioru treści multimedialnej przez użytkownika.
Interfejs lokalny WE/WY LIF obsługuje wymianę wiadomości z odtwarzaczem audio/wideo AV, a moduł pobierania MP jest odpowiedzialny za generowanie i wysyłanie żądań HTTP do serwera treści ST i odbieranie wysyłanych przez serwer treści ST segmentów. Odebrane segmenty są wstawiane do bufora BUF. Zadaniem modułu adaptacji MA jest analiza pliku MPD, a następnie wybór, spośród wszystkich zaprezentowanych w pliku MPD, reprezentacji o najwyższej jakości, która umożliwia, przy aktualnych warunkach panujących w sieci pakietowej SP, odtwarzanie treści multimedialnej bez zakłóceń. Mechanizm wyboru uruchamiany jest dla każdego z pobieranych segmentów i powinien on zwracać najwyższą reprezentację, której szybkość bitowa jest niższa niż aktualnie dostępna przepływność w sieci pakietowej SP, z tolerancją zależną od długości bufora BUF.
Urządzenie odbiorcze umieszczone jest pomiędzy odtwarzaczem audio/wideo AV (np. telewizor typu Smart TV), do którego jest podłączane w sposób bezpośredni bądź za pomocą lokalnej sieci komputerowej, a węzłem brzegowym sieci pakietowej SP, poprzez którą pobierane są treści multimedialne z serwera treści ST. Zadaniem urządzenia odbiorczego według wynalazku jest przechwycenie wygenerowanego przez odtwarzacz audio/wideo AV żądania HTTP dotyczącego pobrania treści multimedialnej, a następnie pobranie danej treści z wykorzystaniem pobierania adaptacyjnego, z dokonaniem wyboru szybkości bitowej treści w oparciu o zaprezentowany sposób wyboru reprezentacji. W ten sposób urządzenie według wynalazku pozwala maksymalizować jakość odbioru treści multime8
PL 227 259 B1 dialnych odczuwaną przez użytkownika, dynamicznie dopasowując szybkość bitową pobieranych segmentów treści do aktualnie panujących warunków w sieci pakietowej SP.
W urządzeniu odbiorczym w kroku 1 (301) odbierane jest od odtwarzacza audio/wideo AV żądanie HTTP pobrania treści multimedialnej. Następnie w kroku 2 (302) wysyłane jest żądanie pobrania pliku MPD (303) dla danej treści multimedialnej do serwera treści ST. W kroku 3 odbierany jest plik MPD (303) i przeprowadzana jest jego analiza, której celem jest określenie liczby dostępnych reprezentacji, liczby segmentów i ich adresów URL, po czym w urządzeniu odbiorczym uruchamiane są dwa równoległe procesy:
• Proces pobierania segmentów treści, który obejmuje kroki 4a (304) i 5a (305), i ma na celu wybór reprezentacji żądanego segmentu z wykorzystaniem sposobu według wynalazku. Po czym następuje pobranie segmentu i umieszczenie go w buforze BUF urządzenia odbiorczego. W przypadku, kiedy bufor BUF jest pełny, czyli kiedy liczba segmentów przechowywanych w buforze BUF równa jest jego pojemności, proces pobierania zatrzymuje się do momentu zwolnienia miejsca w buforze BUF.
• Proces przekazywania pobranych segmentów do odtwarzacza audio/wideo AV obejmuje kroki 4b (306), 5b (307), 6b (308) i 7b (309). Urządzenie odbiorcze w stałych odstępach czasu równych czasowi Ω przekazuje do odtwarzacza audio/wideo AV przechowywany w buforze BUF uprzednio pobrany segment. Wartość czasu Ω odtwarzania jednego segmentu pobieranej treści multimedialnej jest odczytywana z pliku MPD. Bufor BUF obsługiwany jest zgodnie z regułą FIFO (ang. First-In-First-Ouf). W przypadku, kiedy minął czas Ω od ostatniego przekazania segmentu, a brak jest w buforze BUF kolejnego segmentu, proces przekazywania zatrzymuje się (309) czekając na zakończenie procesu pobierania aktualnego segmentu.
Obsługa żądania pobrania treści przez przedmiotowe urządzenie odbiorcze kończy się w momencie, kiedy pobrane zostały z serwera treści ST wszystkie segmenty i wszystkie pobrane segmenty zostały przekazane do odtwarzacza audio/wideo AV.
Urządzenie odbiorcze według wynalazku może być zbudowane jako tzw. set-top-box, do którego podłączany jest odtwarzacz audio/wideo AV. Odtwarzaczem takim może być np. odbiornik telewizyjny typu Smart TV, który ma zaimplementowaną obsługę protokołu HTTP, nie posiada natomiast funkcjonalności pobierania treści w trybie adaptacyjnym. Odtwarzacz ten może być podłączony do urządzenia według wynalazku bezpośrednio, np. z wykorzystaniem interfejsu RJ45, lub poprzez lokalną sieć komputerową, zarówno przewodową, jak i bezprzewodową. O możliwości podłączenia odtwarzacza audio/wideo AV do urządzenia według wynalazku decyduje sposób implementacji lokalnego interfejsu WE/WY LIF.
W celu odtworzenia zdalnej treści multimedialnej przykładowy odtwarzacz audio/wideo AV wysyła zapytanie HTTP pobrania tej treści (407), które jest odbierane przez lokalny interfejs WE/WY LIF urządzenia według wynalazku. Urządzenie według wynalazku może również działać jako tzw. proxy, które przechwytuje żądania HTTP skierowane bezpośrednio do serwerów treści multimedialnej. Następnie informacja o żądaniu przekazywana jest (408) do modułu pobierania pliku MPD MPP, który na podstawie otrzymanych informacji wysyła żądanie pobrania pliku MPD odpowiadającego danej treści bezpośrednio do serwera treści ST, lub dedykowanego serwera świadczącego usługi dostarczania plików MPD. Po odebraniu pliku MPD przekazywany jest on do modułu adaptacji MA, który dokonuje jego analizy, określając na jego podstawie liczbę dostępnych reprezentacji, liczbę segmentów i ich adresów URL i czas Ω trwania segmentu.
Następnie moduł adaptacji MA uruchamia proces pobierania i zarządza procesem cyklicznego pobierania z serwera treści ST wszystkich segmentów danej treści multimedialnej. W celu pobrania segmentu treści moduł adaptacji MA przekazuje do modułu pobierania MP adres URL segmentu, który powinien zostać pobrany z serwera treści ST. Moduł pobierania MP konstruuje na podstawie otrzymanego adresu URL żądanie HTTP (503) dotyczące danego segmentu, które następnie jest przek azywane, poprzez sieć pakietową SP, do serwera treści ST. Dodatkowo moduł pobierania MP zapamiętuje czas wysłania żądania (503). W odpowiedzi serwer treści ST transmituje żądany segment treści w postaci zbioru pakietów, które są odbierane przez moduł pobierania MP. Moduł pobierania MP zapisuje czas otrzymania pierwszego (504) oraz ostatniego (505) pakietu odpowiedzi HTTP otrzymanej z serwera treści ST, w której przekazywany jest żądany segment treści. Na podstawie zapisanych czasów wysłania żądania (503) oraz otrzymania pierwszego (504) i ostatniego (505) pakietu odpowi ePL 227 259 B1 dzi, moduł pobierania MP oblicza próbki czasów RTDi (501) oraz SDTi (502), które następnie są przekazywane (413) do modułu adaptacji MA.
Pobrany segment jest przez moduł pobierania MP wstawiany do bufora BUF. W przypadku, kiedy bufor BUF jest pełny, a więc kiedy liczba przechowywanych w nim segmentów treści jest równa (lub większa od) długości bufora BUF, wówczas moduł pobierania MP przechodzi w stan uśpienia. Stan uśpienia kończy się w momencie zwolnienia miejsca w buforze BUF i wstawieniu do niego pobranego segmentu, co może nastąpić wskutek: a) przekazania (415) segmentu treści z bufora BUF do lokalnego interfejsu WE/WY LIF, lub b) zwiększenia (416) długości bufora BUF przez moduł adaptacji MA. Po wstawieniu segmentu treści do bufora BUF moduł pobierania MP rozpoczyna proces pobierania kolejnego segmentu treści wskazanego przez moduł adaptacji MA.
Działanie bufora BUF regulowane jest przez proces przekazywania, który działa niezależnie od procesu pobierania zarządzającego pracą modułu adaptacji MA i modułu pobierania MP. Proces przekazywania kontroluje pobieranie segmentów treści z bufora BUF w stałych odstępach czasu Ω, i przekazywanie ich do lokalnego interfejsu WE/WY LIF. Lokalny interfejs WE/WY (LIF), każdorazowo po otrzymaniu segmentu treści z bufora BUF, przekazuje go do odtwarzacza audio/wideo AV w postaci odpowiedzi na otrzymane żądanie HTTP, przy czym informacja o zakończeniu transmitowania odpowiedzi przesyłana jest dopiero w momencie przekazywania ostatniego segmentu danej treści.
Po każdym otrzymaniu próbek RTDi i SDTi od modułu pobierania MP, a więc po każdym zakończeniu procesu pobierania segmentu treści, moduł adaptacji MA wywołuje sposób według wynalazku, w wyniku czego uzyskuje wartość reprezentacji docelowej Rd oraz docelową długość Bd bufora BUF. Następnie moduł adaptacji MA przekazuje do modułu pobierania MP adres URL kolejnego segmentu o reprezentacji Rd, oraz wywołuje funkcję ustawienia długości bufora BUF z parametrem Bd określającym docelową długość bufora BUF. W ten sposób moduł adaptacji MA steruje długością bufora BUF, dopasowując ją do aktualnych warunków pobierania segmentów.
Urządzenie według wynalazku wymaga określenia wartości następujących parametrów konfiguracyjnych koniecznych do realizowania wyboru reprezentacji oraz wymiarowania bufora:
• NSDT - liczba określająca długość okna pomiarowego; wskazuje ona, ile maksymalnie uprzednio zmierzonych próbek pomiarowych będzie uwzględnionych przez algorytm adaptacji;
• M - maksymalna długość bufora BUF liczona w segmentach; może ona wynikać z maksymalnej pamięci dostępnej w urządzeniu lub z maksymalnego dopuszczalnego opóźnienia dla adaptacji; długość bufora BUF (sterowana przez moduł adaptacji MA) może zatem, podczas sesji pobierania treści multimedialnej, zmieniać się w zakresie od 1 do M segmentów;
• ε - docelowa wartość prawdopodobieństwa wystąpienia zdarzenia zatrzymania odtwarzania treści multimedialnej (im niższa, tym wyższa jakość odbioru treści multimedialnej odczuwana przez użytkownika, a zarazem większa długość docelowa bufora BUF wyznaczona przez metodę według wynalazku);
• Y - współczynnik odzwierciedlający niestacjonarność procesu napływu segmentów; przeprowadzone badania wykazały, że wartość tego współczynnika równa 0,3 jest odpowiednia dla szerokiego spektrum technik sieciowych, włączając w to także sieci bezprzewodowe IEEE 802.11;
• β - współczynnik (1-β) mający na celu zapobieżenie efektowi oscylacyjnego przełączania pomiędzy dwoma sąsiadującymi reprezentacjami;
• Ω - równy jest czasowi odtwarzania jednego segmentu pobieranej treści multimedialnej; jego wartość pobierana jest z pliku opisu mediów MPD.

Claims (2)

1. Sposób do adaptacyjnego pobierania treści multimedialnych według wynalazku, oparty na standardzie DASH, realizujący adaptację strumieniowania treści multimedialnych, oparty na pomiarach parametrów pobierania segmentów oraz analizie parametrów bufora urządzenia odbiorczego, znamienny tym, że dokonuje się pomiaru czasu SDT pobierania segmentu oraz pomiaru czasu RTDi opóźnienia w pętli, po czym wyznacza się estymowaną wartość czasu RTDest opóźnienia w pętli oraz zapamiętuje się zmierzony czas SDTi pobierania seg10
PL 227 259 B1 mentu wraz z reprezentacją Ri aktualnie pobranego segmentu, a następnie dokonuje się estymacji rozkładu Pr{A(Q)=a} dyskretnej zmiennej losowej Α(Ω) opisującej liczbę segmentów napływających do aplikacji klienta w określonym przedziale czasu Ω równym czasowi odtwarzania jednego segmentu, przy czym rozkład ten jest zapisany w postaci następującego równania:
a = 0 + —h S = τ] x Pr{5 > ii — r ( dr, a-l a = 1,co przy czym estymację rozkładu dyskretnej zmiennej losowej Α(Ω) algorytmu adaptacji przeprowadza się w sposób numeryczny, a algorytm numerycznej estymacji rozkładu Pr{A(iI)=a} roz2 poczyna się od obliczenia wartości średniej μ oraz wariancji σ dla przechowywanego zbiór próbek zmierzonych czasów SDT pobierania segmentu, zaś następnie tworzy się zbiór S składający się z L losowych liczb, większych od zera, wygenerowanych zgodnie z rozkładem 2 normalnym o parametrach μ i σ (S: s1, sL), po czym wyznacza się kolejne wartości zmiennej losowej Α(Ω) poprzez zliczenie ilości liczb z uszeregowanego ciągu s1, ..., sL trafiających do kolejnych przedziałów czasowych Ω, po czym oblicza się rozkład zmiennej losowej Pr{A(())=a} poprzez podzielenie liczby wystąpień wartości a w zbiorze Α(Ω) przez liczbę wszystkich wartości zbioru Α(Ω), a następnie wyznacza się minimalną długość kolejki Ki dla systemu kolejkowego modelującego bufor, przy czym minimalną długość kolejki Ki oblicza się w oparciu o następujący układ równań Markowa:
gdzie Pr{A(())=a} oznacza rozkład dyskretnej zmiennej losowej Α(Ω), po czym wyznacza się wartość długości Bi bufora (BUF), dla której prawdopodobieństwo wystąpienia zdarzenia zatrzymania odtwarzania treści multimedialnej jest mniejsze od ε, jako sumę wartości długości kolejki Ki oraz sufitu (tj. cechy górnej) liczby będącej iloczynem liczby NSDT pobranych segmentów, współczynnika Y oraz ilorazu estymowanej wartości czasu opóźnienia w pętli RTDest przez czas odtwarzania jednego segmentu Ω:
NsPT + ^SDT po czym sprawdza się, czy wyznaczona wartość Bi bufora (BUF) nie jest większa niż maksymalna długość M bufora (BUF) i jeśli wyznaczona wartość Bi jest większa niż maksymalna długość M bufora (BUF), co wskazuje na konieczność przeprowadzenia adaptacji poprzez zmianę reprezentacji żądanych segmentów na niższą, to dokonuje się powtórnego wyznaczenia długości Bi* bufora (BUF), ale przy założeniu wyboru reprezentacji Ri-1 niższej o jeden od aktualnej reprezentacji Ri, po uprzednim przeskalowaniu zbioru próbek czasów SDT do wartości odpowiadających reprezentacji Ri-1, a wyznaczoną wartość długości Bi* bufora (BUF) zapisuje się do zmiennej Bd, określającej docelową długość bufora (BUF), zaś wartość reprezentacji Ri-1 zapisuje się do zmiennej Rd określającej reprezentację docelową, zaś procedurę powtórnego wyznaczenia długości Bi* bufora (BUF) wykonuje się cyklicznie do momentu, aż wyznaczona wartość długości Bi* bufora (BUF) jest mniejsza lub równa maksymalnej długość M bufora (BUF), a jeżeli powyższy warunek zostanie spełniony, wówczas wyznaczone wartości reprezentacji Ri-1 oraz długości Bi* bufora (BUF) zapisuje się jako wartości reprezentacji docelowej Rd oraz docelowej długości Bd bufora (BUF), które są danymi wyjściowymi, jeżeli zaś
PL 227 259 B1 wyznaczona początkowo wartość Bi jest mniejsza niż wartość M określająca maksymalną długość bufora (BUF), to następuje wykonanie procedur adaptacyjnych dotyczących zmiany reprezentacji na wyższą i w tym celu wartość B jest zapisywana do zmiennej Bd, następnie zaś dokonuje się powtórnego wyznaczenia długości Bi* bufora (BUF), przy założeniu wyboru reprezentacji Ri+1 wyższej o jeden od aktualnej reprezentacji R,, po uprzednim przeskalowaniu zbioru próbek czasów SDT do wartości odpowiadających reprezentacji Ri+1, przy czym tę procedurę wykonuje się cyklicznie, za każdym razem zwiększając reprezentację o jeden, do momentu aż wyznaczona wartość długości B* bufora (BUF) będzie większa od maksymalnej długości M bufora (BUF) pomnożonej przez współczynnik (1 -β), a jeżeli powyższy warunek zostanie spełniony, wówczas wyznaczone wartości reprezentacji oraz długości B* bufora (BUF) zapisuje się jako wartości reprezentacji docelowej Rd oraz docelowej długości Bd bufora (BUF), które są danymi wyjściowymi.
2. Urządzenie odbiorcze do adaptacyjnego pobierania treści multimedialnych według wynalazku, realizujące sposób do adaptacyjnego pobierania treści multimedialnych według wynalazku, połączone z odtwarzaczem audio/wideo oraz z serwerem treści poprzez sieć pakietową, korzystające z protokołu HTTP, znamienne tym, że wejście (401) modułu pobierania pliku MPD (MPP) połączone jest z interfejsem lokalnym WE/WY (LIF) połączonym wejściem (402) i wyjściem (403) z odtwarzaczem audio/wideo (AV), a wyjście modułu pobierania pliku MPD (MPP) połączone jest z wejściem (409) modułu adaptacji (MA), połączonego wyjściem (408) i wejściem (407) z modułem pobierania (MP), połączonym poprzez wyjście (413) oraz wejście (411) z interfejsem WE/WY (IF), połączonym przez wyjście (414) i wejście (415) z siecią pakietową (SP), która jest połączona z serwerem treści (ST), a ponadto moduł pobierania (MP) połączony jest z wejściem (405) bufora (BUF), a moduł adaptacji (MA) połączony jest z wejściem (406) bufora (BUF), którego wyjście (404) połączone jest z interfejsem lokalnym WE/WY (LIF), a ponadto moduł pobierania pliku MPD (MPP) jest połączony poprzez wyjście (412) i wejście (410) z interfejsem WE/WY (IF).
PL412498A 2015-05-27 2015-05-27 Sposób i urzadzenie odbiorcze do adaptacyjnego pobierania tresci multimedialnych PL227259B1 (pl)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PL412498A PL227259B1 (pl) 2015-05-27 2015-05-27 Sposób i urzadzenie odbiorcze do adaptacyjnego pobierania tresci multimedialnych

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PL412498A PL227259B1 (pl) 2015-05-27 2015-05-27 Sposób i urzadzenie odbiorcze do adaptacyjnego pobierania tresci multimedialnych

Publications (2)

Publication Number Publication Date
PL412498A1 PL412498A1 (pl) 2016-12-05
PL227259B1 true PL227259B1 (pl) 2017-11-30

Family

ID=57405872

Family Applications (1)

Application Number Title Priority Date Filing Date
PL412498A PL227259B1 (pl) 2015-05-27 2015-05-27 Sposób i urzadzenie odbiorcze do adaptacyjnego pobierania tresci multimedialnych

Country Status (1)

Country Link
PL (1) PL227259B1 (pl)

Also Published As

Publication number Publication date
PL412498A1 (pl) 2016-12-05

Similar Documents

Publication Publication Date Title
US10178037B2 (en) Deadline driven content delivery
US9596281B2 (en) Transport accelerator implementing request manager and connection manager functionality
Little et al. Multimedia synchronization protocols for broadband integrated services
US7657672B2 (en) Packet scheduling for data stream transmission
US20230171301A1 (en) Monitoring Network Conditions
US8072886B2 (en) Method and system for transmission control protocol (TCP) traffic smoothing
US9781474B2 (en) Content playback information estimation apparatus and method and program
US9178929B2 (en) Client-side class-of-service-based bandwidth management in over-the-top video delivery
US9596323B2 (en) Transport accelerator implementing client side transmission functionality
KR20040041170A (ko) 혼잡 제어를 위한 전송률을 계산하기 위해 수신 버퍼 크기를 사용하는 데이터 통신 방법 및 시스템
CN105684390B (zh) 用于为自适应流传输客户端预留带宽的方法和设备
US10560383B2 (en) Network latency scheduling
CN110445723A (zh) 一种网络数据调度方法及边缘节点
US11190430B2 (en) Determining the bandwidth of a communication link
KR101837637B1 (ko) 클라이언트 측 ack 조정 기반 적응 스트리밍 방법 및 장치
US20130311668A1 (en) Methods And Systems For Providing Fairness And Stability To Video Streams
PL227259B1 (pl) Sposób i urzadzenie odbiorcze do adaptacyjnego pobierania tresci multimedialnych
Ahsan et al. DASHing towards hollywood
Cui et al. MM-ABR: an Enhanced ABR Algorithm with Multi-Metric Information for QUIC-based Video Streaming
John et al. Managing and improving upon bandwidth challenges in computer network
CN117412120A (zh) 视频传输方法、视频发送设备、系统以及存储介质
Class Analysis of the Concord Algorithm and the Adaptive Synchronization Protocol Using QoSy
Sullivan A protocol for simultaneous real time playback and full quality storage of streaming media
Hall ActiveSTB: an efficient wireless resource manager in home networks
Treetasanatavorn et al. Media synchronization with adaptive QoS control based on a delay compensation protocol and a smoothing technique