Rozdział. Hierarchiczny model systemu strumieniowej transmisji obrazu ruchomego przez Internet. 1. Wprowadzenie

Podobne dokumenty
Rozdział. Wpływ parametrów kompresji na jakość transmisji obrazu strumieniowego. 1. Wstęp

Rozdział. Propagacja samopodobieństwa w torze transmisji obrazu. 1. Wprowadzenie

Serwery multimedialne RealNetworks

WPŁYW KOLEJKI TBF NA PARAMETRY QoS PRZEKAZU STRUMIENIOWEGO

Multicasty w zaawansowanych usługach Internetu nowej generacji

Rys. 1. Wynik działania programu ping: n = 5, adres cyfrowy. Rys. 1a. Wynik działania programu ping: l = 64 Bajty, adres mnemoniczny

Sieci Komputerowe Modele warstwowe sieci

Szczegółowy opis przedmiotu zamówienia

Transmisja danych multimedialnych. mgr inż. Piotr Bratoszewski

Przesył mowy przez internet

DANE W SIECIACH TELEKOMUNIKACYJNYCH

Przesyłania danych przez protokół TCP/IP

Protokoły sieciowe - TCP/IP

Warstwy i funkcje modelu ISO/OSI

Wideokonferencje MGR INŻ. PAWEŁ SPALENIAK

Protokoły sieciowe model ISO-OSI Opracował: Andrzej Nowak

MODEL WARSTWOWY PROTOKOŁY TCP/IP

2. STRUKTURA RADIOFONICZNYCH SYGNAŁÓW CYFROWYCH

Zarządzanie ruchem i jakością usług w sieciach komputerowych

Model OSI. mgr inż. Krzysztof Szałajko

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 13 Topologie sieci i urządzenia

Podstawowe protokoły transportowe stosowane w sieciach IP cz.2

Kształtowanie ruch w sieciach Linux

Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Telekomunikacji

Data wykonania Część praktyczna

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer

Sieci komputerowe Warstwa transportowa

Kompresja sekwencji obrazów - algorytm MPEG-2

Spis treści. Format WAVE Format MP3 Format ACC i inne Konwersja między formatami

w sieciach szerokopasmowych CATV i ISP - Model OSI

Rozwiązania do przechwytywania, nagrywania i dystrybucji sygnałów audio/wideo w sieciach IP Edukacja

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe

Wojskowa Akademia Techniczna im. Jarosława Dąbrowskiego

ZAŁOŻENIA PROTOKOŁU RTP

Zarządzanie infrastrukturą sieciową Modele funkcjonowania sieci

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

Podstawowe protokoły transportowe stosowane w sieciach IP cz.1

Zarządzanie ruchem i jakością usług w sieciach komputerowych

1. W jakich technologiach QoS w sieciach komputerowych wykorzystywany jest miękki stan? W technologii IntServ.

Spis treści. Format WAVE Format MP3 Format ACC i inne Konwersja między formatami

Wybrane mechanizmy gwarantowania jakości usług w sieciach IP. Dariusz Chaładyniak, Maciej Podsiadły * Warszawska Wyższa Szkoła Informatyki

Sterowanie ruchem w sieciach szkieletowych

PLAN Podstawowe pojęcia techniczne charakteryzujące dostęp do Internetu prędkość podłączenia opóźnienia straty Umowa SLA inne parametry dostępność

PRACA DYPLOMOWA STUDIA PIERWSZEGO STOPNIA. Łukasz Kutyła Numer albumu: 5199

System transmisji obrazu ruchomego przez Internet jako hierarchiczny system złożony. Zbigniew Omiotek

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Wybrane działy Informatyki Stosowanej

Niezawodność i diagnostyka systemów cyfrowych projekt 2015

Wykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall

Enkapsulacja RARP DANE TYP PREAMBUŁA SFD ADRES DOCELOWY ADRES ŹRÓDŁOWY TYP SUMA KONTROLNA 2 B 2 B 1 B 1 B 2 B N B N B N B N B Typ: 0x0835 Ramka RARP T

Wymagania i zalecenia dla usługi głosowej w Sieci FreePhone. MASH.PL Wymagania i zalecenia dla usługi głosowej w Sieci FreePhone Strona 1

Skąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta

Ethernet. Ethernet odnosi się nie do jednej, lecz do wielu technologii sieci lokalnych LAN, z których wyróżnić należy cztery podstawowe kategorie:

Sieci komputerowe - warstwa transportowa

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Sieci komputerowe - Wstęp do intersieci, protokół IPv4

Zmiany w Regulaminie świadczenia usług telekomunikacyjnych w Mobilnej Sieci Orange dla Abonentów ofert na abonament z dnia 13 listopada 2015 roku.

Wykorzystanie linii kwantylowych zakumulowanego procesu FARIMA do modelowania samopodobnego ruchu pakietowego

Kompresja sekwencji obrazów

Kodowanie podpasmowe. Plan 1. Zasada 2. Filtry cyfrowe 3. Podstawowy algorytm 4. Zastosowania

Sieci komputerowe. -Sterownie przepływem w WŁD i w WT -WŁD: Sterowanie punkt-punkt p2p -WT: Sterowanie end-end e2e

Adresy w sieciach komputerowych

SEGMENT TCP CZ. II. Suma kontrolna (ang. Checksum) liczona dla danych jak i nagłówka, weryfikowana po stronie odbiorczej

Czas w systemach rozproszonych. Krzysztof Banaś Systemy rozproszone 1

Streaming multimediów od kuchni

Transmisja z gwarantowaną jakością obsługi w Internecie

Systemy konferencyjne. Transmisja multimediów w sieciach IP. Obraz i dźwięk. mgr inż. Łukasz Kosikowski

Zagadnienia egzaminacyjne ELEKTRONIKA I TELEKOMUNIKACJA studia rozpoczynające się przed r.

QoS jakośćusługwsieciachip

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Sieci komputerowe i bazy danych

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j

Zastosowanie kompresji w kryptografii Piotr Piotrowski

Referencyjny model OSI. 3 listopada 2014 Mirosław Juszczak 37

OFERTA NA SYSTEM LIVE STREAMING

Pomiary łączy ethernetowych - zajęcia praktyczne. Darek Matyjewicz RATE ART

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji

Wprowadzenie do sieci komputerowych

Standard transmisji równoległej LPT Centronics

Mechanizmy regulacji ruchu stosowane przez Operatora i opisane w Regulaminie nie wpływają na prywatność oraz ochronę danych osobowych Abonenta.

Autorytatywne serwery DNS w technologii Anycast + IPv6 DNS NOVA. Dlaczego DNS jest tak ważny?

Sieci komputerowe w sterowaniu informacje ogólne, model TCP/IP, protokoły warstwy internetowej i sieciowej

Rywalizacja w sieci cd. Protokoły komunikacyjne. Model ISO. Protokoły komunikacyjne (cd.) Struktura komunikatu. Przesyłanie między warstwami

Uniwersalny Konwerter Protokołów

Protokół wymiany sentencji, wersja 1

Audio i video. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

2007 Cisco Systems, Inc. All rights reserved.

PORADNIKI. Dostarczanie danych multimedialnych przez satelitę i IP Multicasting

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

USŁUGI DODATKOWE W SIECIACH BEZPRZEWODOWYCH VoIP oraz multimedia w sieciach WiFi problemy

25. ALOHA typy i własności. 1) pure ALOHA czysta ALOHA:

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

router wielu sieci pakietów

Testy współpracy. Asterisk z techniką WebRTC

Internet kwantowy. (z krótkim wstępem do informatyki kwantowej) Jarosław Miszczak. Instytut Informatyki Teoretycznej i Stosowanej PAN

Video Recording Manager 2.0. Przegląd systemu

Bezprzewodowe sieci komputerowe

POŁĄCZENIE STEROWNIKÓW ASTRAADA ONE MIĘDZY SOBĄ Z WYKORZYSTANIEM PROTOKOŁU UDP. Sterowniki Astraada One wymieniają między sobą dane po UDP

Rozproszony system zbierania danych.

Sieci komputerowe Mechanizmy sterowania przebiegiem sesji TCP w Internecie

Transkrypt:

Rozdział Hierarchiczny model systemu strumieniowej transmisji obrazu ruchomego przez Internet Zbigniew OMIOTEK Wyższa Szkoła Zarządzania i Administracji w Zamościu, Katedra Informatyki i Inżynierii Wiedzy zomiotek@wszia.edu.pl Franciszek GRABOWSKI Politechnika Rzeszowska, Zakład Systemów Rozproszonych fgrab@prz.rzeszow.pl Streszczenie W rozdziale zaprezentowano model hierarchiczny systemu strumieniowej transmisji obrazu ruchomego przez Internet. Pod względem infrastruktury wykonawczej system transmisji obrazu może być reprezentowany przez trzy podstawowe warstwy, są to: źródło sygnału, kanał transmisji oraz węzeł sieci. Każdą z tych warstw można zastąpić kilkoma kolejnymi, czyniącymi model bardziej szczegółowym. W takim modelu każda warstwa wpływa na jakość transmisji obrazu, lecz waga tego wpływu nie jest jednakowa. Im wyżej w strukturze leży dana warstwa, tym większy jest jej wpływ na działanie całego systemu. Taka właściwość jest charakterystyczna dla systemów hierarchicznych. W rozdziale zaprezentowano wyniki badań, których celem było określenie wpływu poszczególnych warstw modelu hierarchicznego na wybrane parametry QoS oraz cechę samopodobieństwa obserwowaną w ruchu sieciowym. Własność samopodobieństwa ma istotny wpływ na obniżenie jakości usług świadczonych przez sieć. Wyniki tych badań potwierdzają, zdaniem autorów, tezę o hierarchicznej naturze systemu transmisji obrazu. 1. Wprowadzenie Transmisja obrazu strumieniowego przez Internet posiada charakter aplikacji czasu rzeczywistego. Oznacza to, że w przypadku, gdy dane nie dotrą do odbiorcy w odpowiednim czasie, proces odtwarzania zostanie zakłócony lub zatrzymany.

2 Z. Omiotek, F. Grabowski W celu uniknięcia takiej sytuacji muszą być spełnione określone wymagania dotyczące pasma sieci oraz opóźnienia i strat pakietów. Obecny Internet nie oferuje jednak żadnej gwarancji jakości usług (ang. Quality of Service) dla strumieniowania obrazu, a jego natura opiera się na zasadzie best-effort. Ciągle istnieje wiele wyzwań przed projektantami mechanizmów i protokołów dla systemów strumieniowania obrazu. Aby stanąć naprzeciw tym wyzwaniom, prowadzone są intensywne prace. Występuje sześć zasadniczych obszarów badań związanych z transmisją obrazu strumieniowego, są to: algorytmy kompresji obrazu, mechanizmy kontroli jakości usług na poziomie warstwy aplikacji, usługi rozproszone wspierające ciągłość przekazu, serwery strumieniowe, mechanizmy synchronizacji przekazu oraz protokoły dla strumieniowej transmisji obrazu. Wymienione obszary są jednocześnie zasadniczymi elementami architektury systemów strumieniowania. Taka architektura łączy szeroki zakres technologii, od przetwarzania sygnałów przez komunikację sieciową do projektowania serwerów. Gruntowne zrozumienie całej architektury jest niezbędne dla wydajnego projektowania poszczególnych jej elementów. Algorytmy kompresji obrazu można podzielić na algorytmy dla obrazu nieskalowalnego i skalowalnego. W pierwszym przypadku tworzony jest jeden skompresowany strumień bitów, natomiast w drugim przypadku tworzonych jest kilka strumieni. Jeden ze strumieni w obrazie skalowalnym jest strumieniem podstawowym, może on być dekodowany niezależnie i zapewnia niską, ale użyteczną jakość obrazu. Strumienie dodatkowe, tworzące tzw. warstwę rozszerzoną, mogą być dekodowane razem ze strumieniem podstawowym i pozwalają na otrzymanie obrazu o większych rozmiarach, lepszej jakości oraz większej liczbie klatek na sekundę w porównaniu z obrazem otrzymanym w wyniku dekodowania strumienia podstawowego [1, 2]. Dla standardu MPEG-4 zaproponowano nowy skalowalny mechanizm kodowania, zwany skalowalnością drobnoziarnistą (ang. Fine Granular Scalability). Koder FGS kompresuje oryginalną sekwencję obrazu do dwóch strumieni podstawowego i dodatkowego. W celu osiągnięcia planowanej szybkości transmisji bitów, strumień dodatkowy może być w dowolnym miejscu okrojony. Dzięki temu koder FGS zapewnia stałą szybkość strumienia dodatkowego. Odmianą FGS jest metoda PFGS (ang. Progressive Fine Granular Scalability) [3]. Kodowanie PFGS łączy pozytywne cechy FGS, takie jak drobnoziarnista skalowalność szybkości bitów z odpornością na błędy. Mechanizmy kontroli QoS na poziomie warstwy aplikacji obejmują kontrolę zatorów oraz kontrolę błędów. Są one stosowane przez systemy końcowe i nie wymagają żadnego wsparcia ze strony sieci. Kontrola zatorów ma przeważnie postać kontroli szybkości [4]. Celem kontroli szybkości jest minimalizacja możliwości wystąpienia zatorów w sieci przez odpowiedni dobór szybkości strumienia obrazu, stosownie do dostępnego pasma sieci. Kontrola zatorów może mieć miejsce również po stronie odbiorczej. Wykorzystywane są wówczas własności obrazu skalowalnego, który łatwo dostosowuje się do zmian dostępnego pasma w sieci. Odbiornik, w zmieniających się dynamicznie warunkach sieciowych, sam decyduje jak dużo strumieni z warstwy rozszerzonej jest w stanie odebrać [5]. Straty pakietów w Internecie są nie uniknione i mogą mieć znaczący wpływ na jakość odbieranego obrazu. Wymusza to potrzebę projektowania mechanizmów zmierzających do maksymalizacji jakości prezentacji obrazu w warunkach występowania strat.

Hierarchiczny model systemu strumieniowej transmisji obrazu... 3 Takie rozwiązania określa się mianem mechanizmów kontroli błędów. Obejmują one między innymi metodę FEC (ang. Forward Error Correction), retransmisję, kodowanie odporne na błędy i maskowanie błędów. Ideą metody FEC jest dodawanie informacji nadmiarowej, dzięki której informacja oryginalna może być zrekonstruowana w warunkach strat pakietów. W przypadku, gdy czas przejścia pakietu w jedną stronę jest krótki w porównaniu z maksymalnym dopuszczalnym opóźnieniem, opłacalne jest stosowanie metody wykorzystującej retransmisję (zwanej retransmisją zależną od opóźnienia). Celem kodowania odpornego na błędy jest poprawienie odporności skompresowanego obrazu na straty pakietów. Obiecującą metodą dla transmisji obrazu przez Internet, odporną na błędy, jest metoda MDC (ang. Multiple Description Coding) [6]. W metodzie MDC sekwencja obrazu oryginalnego jest kompresowana do pewnej liczby strumieni tak, że każdy strumień zapewnia akceptowalną jakość wizualną, a im większa liczba strumieni zostanie zastosowana, tym lepsza będzie jakość odbieranego obrazu. Maskowanie błędów jest stosowane przez odbiornik do ukrycia straty danych tak, aby prezentacja była mniej irytująca dla widza. Występują dwie podstawowe metody maskowania błędów: interpolacja przestrzenna i czasowa. W interpolacji przestrzennej, wartości opuszczonych pikseli są odtwarzane przy wykorzystaniu sąsiedniej informacji przestrzennej. W interpolacji czasowej, utracone dane są odtwarzane na podstawie danych z wcześniejszych ramek. Interpolacja przestrzenna jest przeważnie stosowana do odtwarzania zawartości zakodowanych ramek, natomiast interpolacja czasowa do rekonstrukcji różnic między ramkami. Opracowano wiele rozwiązań służących do maskowania błędów. Uwzględniają one, między innymi, maksymalną płynność odzyskiwania danych, predykcję ruchu na podstawie ustalonego zbioru oraz różne metody wykorzystujące wektor ruchu [7, 8]. Na ciągłość przekazu obrazu w istotny sposób wpływa sieć, od której zależy opóźnienie transportu oraz współczynnik strat pakietów. W celu zapewnienia QoS i osiągnięcia odpowiedniej wydajności strumieniowania przez Internet typu best-effort, zaprojektowano usługi rozproszone wspierające ciągłość przekazu. Usługi te obejmują filtrowanie sieci, przesyłanie strumienia w trybie multicast i powielanie zawartości (cache owanie i kopie zwierciadlane serwerów źródłowych) [9, 10]. Kluczową rolę w realizacji usługi strumieniowania odgrywa serwer strumieniowy. Zapewnia on odpowiednią jakość przekazu w warunkach ograniczeń czasowych oraz przeciwdziała skutkom ubocznym (tj. szarpaniom ruchomego obrazu i trzaskom dźwięku) podczas odtwarzania przekazu przez klientów. Serwer strumieniowy wspiera również operacje sterowania, takie jak stop zatrzymanie/wznowienie, szybkie przewijanie do przodu i do tyłu. Główne elementy serwera strumieniowego to: komunikator, system operacyjny czasu rzeczywistego i system pamięci [11, 12, 13]. Aplikacja po stronie odbiorcy powinna prezentować przekaz tak samo jak został on zarejestrowany po stronie nadawczej. To wymaganie realizują mechanizmy synchronizacji, które utrzymują zależności czasowe wewnątrz strumienia, między strumieniami i między obiektami [14]. Do komunikacji pomiędzy klientami i serwerami strumieniowymi zaprojektowano i zestandaryzowano kilka protokołów, które zgodnie ze swoją funkcjonalnością mogą być podzielone na następujące kategorie: protokół warstwy sieciowej, protokoły transportowe i protokoły sterowania sesją. Protokół warstwy sieciowej zapewnia usługę adresowania

4 Z. Omiotek, F. Grabowski sieciowego. Jest tutaj wykorzystywany protokół IP. Protokoły transportowe zapewniają aplikacjom strumieniowym transport danych w relacji end-to-end. Są tutaj stosowane protokoły UDP, TCP, RTP (ang. Real-Time Transport Protocol) i RTCP (ang. Real-Time Control Protocol). Protokoły UDP i TCP stanowią dolną, a RTP i RTCP górną warstwę protokołów transportowych, zaimplementowaną na szczycie UDP/TCP. Protokoły sterowania sesją definiują komunikaty i procedury do sterowania dostarczanymi danymi multimedialnymi podczas zestawionej sesji. Do sterowania sesją są wykorzystywane protokoły RTSP (ang. Real-Time Streaming Protocol) i SIP (ang. Session Initation Protocol). Ponieważ Internet wprowadza opóźnienie zmieniające się w czasie, to w celu zapewnienia ciągłości odtwarzania, po stronie odbiorczej przed dekoderem stosowany jest bufor odtwarzania. Główne korzyści wynikające ze stosowania bufora odtwarzania to zmniejszenie fluktuacji opóźnienia, eliminacja błędów przez retransmisje i wygładzenie fluktuacji przepustowości kanału. Buforowanie wprowadza jednak dodatkowe opóźnienie, dlatego są opracowywane nowe metody, np. AMP (ang. Adaptive Media Playout), umożliwiające kompromis między opóźnieniem, a niezawodnością [15, 16]. Większość współczesnych badań, zmierzających do poprawy wydajności systemu transmisji obrazu strumieniowego, koncentruje się na poszczególnych elementach scharakteryzowanej wyżej architektury i rozważa je w oderwaniu od reszty systemu. Naszym zdaniem, celowe jest potraktowanie systemu transmisji obrazu jako zwartej struktury hierarchicznej, w której występują poszczególne warstwy odpowiedzialne za jakość transmisji, a im wyżej leży warstwa w takiej strukturze, tym większy jest jej wpływ na działanie całego systemu. Celem badań, których wyniki zaprezentowano w niniejszym rozdziale, było określenie wpływu poszczególnych warstw hierarchicznego systemu transmisji obrazu na wybrane parametry jakości usług oferowanych przez sieć oraz samopodobieństwo transmitowanego strumienia. Cechę samopodobieństwa wykryto w ruchu sieciowym już na początku lat dziewięćdziesiątych i oznacza ona, że własności statystyczne procesu nie zależą od skali czasu [17]. W praktyce oznacza to, m. in. długoterminową autokorelację procesu i okresy nasilonego natężenia ruchu. Okazuje się, że samopodobieństwo ma duży wpływ na działanie sieci, ponieważ zwiększa długości kolejek obserwowane w buforach, przez co zwiększa się czas opóźnienia pakietów oraz podnosi prawdopodobieństwo utraty pakietów z powodu przepełnienia buforów. W efekcie następuje obniżenie jakości usług świadczonych przez sieć [18]. Układ rozdziału jest następujący: w podrozdziale drugim zaprezentowano proponowany hierarchiczny model systemu transmisji obrazu, podrozdział trzeci zawiera informacje dotyczące sposobu realizacji pomiarów oraz kwestie związane z implementacją sieci pomiarowej. W podrozdziale czwartym dokonano prezentacji i analizy wyników pomiarów. Całość kończą wnioski zawarte w podrozdziale piątym, podsumowujące przeprowadzone badania.

Hierarchiczny model systemu strumieniowej transmisji obrazu... 5 2. Hierarchiczny model systemu transmisji Pod względem infrastruktury wykonawczej system transmisji obrazu może być reprezentowany przez trzy podstawowe warstwy, są to: źródło sygnału, kanał transmisji oraz węzeł sieci. Każdą z tych warstw można zastąpić kilkoma kolejnymi, czyniącymi model bardziej szczegółowym (rys. 1). W takim modelu każda warstwa wpływa na jakość transmisji obrazu, lecz waga tego wpływu nie jest jednakowa. Im wyżej w strukturze leży dana warstwa, tym większy jest jej wpływ na działanie całego systemu. Taka właściwość jest charakterystyczna dla systemów hierarchicznych. Obraz źródłowy w postaci cyfrowej jest poddawany kompresji zgodnie z określonym algorytmem, np. MPEG-1,2,4, H.263, itd. Zasadniczym celem kompresji jest eliminacja z obrazu źródłowego wszelkiego rodzaju nadmiarowości nieistotnych z punktu widzenia percepcji obrazu przez człowieka. Dzięki zmniejszeniu objętości, obraz skompresowany może być przesyłany za pomocą dostępnych kanałów transmisji. Wynikiem kompresji jest strumień ramek, który następnie jest dzielony na pakiety określonej wielkości, a pakiety są opatrywane nagłówkami protokołów czasu rzeczywistego (RTP, RTCP, RTSP, itp.). Następnie pakiety są opatrywane nagłówkami protokołów niższych warstw (UDP, TCP, IP) i formowany jest strumień transportowy. Dzięki protokołom, strumień jest przesyłany przez kanał transmisyjny. Wskutek dynamicznych zmian charakterystyk kanału, strumień może być narażony na straty pakietów, dlatego ważną rolę odgrywa zarządzanie parametrami kanału, np. przepustowością. Po osiągnięciu węzła sieci strumień jest poddawany oddziaływaniom mechanizmów zarządzania buforami, np. tail drop, EPD (ang. Early Packet Discard) czy RED (ang. Random Early Discard). Mechanizmy te są odpowiedzialne za podjęcie decyzji, które pakiety trzeba zniszczyć w okresie przeciążenia, gdy bufory nie mogą pomieścić całego nadchodzącego ruchu. Przed opuszczeniem węzła na strumień pakietów oddziaływują jeszcze mechanizmy szeregowania pakietów w procesie przyznawania pasma, np. FIFO (ang. First-In-First- Out), WFQ (ang. Weighted Fair Queueing), czy szeregowanie według na stałe przyporządkowanych priorytetów. Kompresja obrazu Źródło sygnału Kanał transmisji Węzeł sieci Podział na pakiety i formowanie strumienia Stos protokołów Zarządzanie kanałem Zarządzanie buforami Szeregowanie pakietów Rys. 1. Hierarchiczny model systemu strumieniowej transmisji obrazu

6 Z. Omiotek, F. Grabowski 3. Metoda realizacji badań Na potrzeby pomiarów zestawiono sieć zaprezentowaną na rys. 2. W jej skład wchodził serwer strumieniowy Windows Media Services, ruter programowy, komputer pełniący funkcję stacji odbiorczej dla emitowanego strumienia oraz przełącznik sieciowy. W celu eliminacji wpływów zewnętrznych na wyniki pomiarów sieć pomiarowa była odłączona od szkolnej sieci komputerowej. Podczas pomiarów wykorzystano usługę wideo na żądanie w trybie unicast. Transmisja strumienia odbywała się zgodnie z protokołem mms (ang. Microsoft Media Server), natomiast w warstwie transportowej wykorzystywany był protokół UDP lub TCP. Dla interfejsu eth1 rutera zaimplementowano kolejkę TBF (ang. Token Bucket Filter), natomiast dla interfejsu eth0 obowiązywał domyślny algorytm kolejkowania packet FIFO i standardowa długość kolejki wynosząca 100 pakietów. Na stacji odbiorczej PC1 oraz stacji serwera strumieniowego zainstalowano programowy analizator pakietów CommView, wykorzystany do pomiaru fluktuacji opóźnienia pakietów na interfejsie sieciowym. Dokładność pomiaru wynosiła w tym przypadku ok. 1 ms. Dane dotyczące współczynnika strat pakietów (liczba pakietów przesłanych i odrzuconych) zostały zebrane na interfejsie eth1 rutera za pomocą programu tc (ang. Traffic Control). Program tc wchodzi w skład pakietu iproute2 i umożliwia implementację kolejek złożonych, zawierających szeroki zestaw filtrów, klas i elementarnych algorytmów kolejkowania. POMIAR (interfejs serwera strumieniowego) Emisja pakietów Kolejka TBF (zmiana długości kolejki, wielkości bufora, przepustowości kanału) POMIAR (interfejs klienta wideo) eth0 eth1 Odbiór pakietów Serwer strumieniowy (Windows Media Services 9, Windows Server 2003) Ruter (Linux) Ethernet Ethernet Rys. 2. Schemat sieci pomiarowej PC1 (Windows Media Player, CommView) 4. Pomiary i analiza wyników W pierwszym etapie eksperymentu wykorzystano materiał filmowy w formacie DVD. Fragment tego materiału (150 s) poddano kompresji za pomocą oprogramowania Windows Media Encoder Seria 9. W procesie kodowania zastosowano zmienną szybkość transmisji bitów (ang. Variable Bit Rate) bez ścieżki dźwiękowej, z trybem kodowania w oparciu o szybkość transmisji bitów. Wykorzystano koder Windows Media Video 9 ze średnią szybkością transmisji bitów strumienia obrazu wynoszącą 991 kb/s. Zakodowany plik w formacie wmv był następnie składowany na serwerze i strumieniowo odtwarzany

Hierarchiczny model systemu strumieniowej transmisji obrazu... 7 przez klienta. Pomiar parametrów czasowych strumienia pakietów realizowany był w interfejsie klienta wideo. a) b) Współczynnik strat TBF [%] 90 80 70 60 50 40 30 20 10 0 Bufor 3 kb Bufor 6 kb Bufor 10 kb Bufor 30 kb Bufor 60 kb Bufor 100 kb 3 6 10 30 60 100 Wielkość kolejki [kb] Współczynnik strat TBF [%] 90 80 70 60 50 40 30 20 10 0 3 6 10 30 60 100 Wielkość kolejki [kb] Bufor 3 kb Bufor 6 kb Bufor 10 kb Bufor 30 kb Bufor 60 kb Bufor 100 kb Rys. 3. Wpływ wielkości kolejki i bufora TBF na współczynnik strat pakietów dla protokołu UDP, przy szerokości kanału transmisji równej 1 Mb/s (a) oraz 2 Mb/s (b) Wpływ wielkości kolejki oraz wielkości bufora TBF na straty pakietów jest zilustrowany na rysunkach 3a i 3b. Zwiększanie pojemności kolejki pakietów oczekujących na obsługę sprawia, że mniejsza ich liczba jest odrzucana i straty maleją. Taka tendencja występuje niezależnie od wielkości bufora z żetonami i przepustowości kanału transmisji. Zwiększenie pojemności bufora, przy stałej wielkości kolejki, zmniejsza straty pakietów, ponieważ wynika to z przeznaczenia tego elementu kolejki (buforowanie chwilowych przeciążeń). Im większy bufor, tym większa ilość danych w danej chwili zostanie obsłużona z określoną szybkością transmisji. Zmiana przepustowości kanału transmisji nie zmienia charakteru wpływu bufora na straty pakietów. Wyniki badań pokazują, że przy transmisji strumienia VBR protokołem UDP, szerokość kanału transmisji równa średniemu pasmu sygnału jest zbyt mała. W takich warunkach, przy zwiększaniu wielkości kolejki i bufora, straty pakietów nie spadają poniżej poziomu 40%. Tak duże straty sprawiają, że jakość odbieranego obrazu nie może być zaakceptowana. Istotne zmniejszenie strat pakietów możliwe jest dopiero w wyniku zwiększenia szerokości kanału transmisji. Na rysunku 3b pokazano przebieg strat dla kanału o szerokości 2 Mb/s, czyli dwa razy większej od średniego pasma sygnału. Okazuje się, że dopiero w tych warunkach, przy wielkości kolejki i bufora równej co najmniej 30 kb, możliwe jest zmniejszenie strat do poziomu kilkunastu procent, co daje poprawę jakości odbieranego obrazu. Istotnym parametrem dla jakości przekazu obrazu ruchomego jest fluktuacja opóźnienia pakietów (ang. jitter), wyznaczona przez pomiar różnicy czasów odebrania kolejnych pakietów. Zbyt duże fluktuacje opóźnienia mogą istotnie pogorszyć jakość przekazu obrazu, a nawet zupełnie uniemożliwić taki przekaz. Na rysunkach 4a i 4b przedstawiono zmiany odchylenia standardowego fluktuacji opóźnienia pakietów w funkcji wielkości kolejki i wielkości bufora dla protokołów UDP oraz TCP. Zbyt mała pojemność kolejki powoduje, iż rośnie poziom jej wypełnienia pakietami oczekującymi na obsługę. Rośnie liczba pakietów odrzuconych oraz częściej pojawiają się żądania ponownego przesłania UDP (rys. 3a) lub retransmisje TCP (rys. 3b). W takich warunkach zwiększają się odstępy czasowe między momentami odbioru kolejnych pakietów. Zwiększenie pojemności kolejki istotnie wpływa na zmniejszenie strat pakietów, dzięki temu rzadziej

8 Z. Omiotek, F. Grabowski występuje ponowne przesłanie pakietów utraconych i w efekcie maleje odchylenie standardowe opóźnienia pakietów. Zbyt duża pojemność kolejki wiąże się jednak z nadmiernym opóźnieniem pakietów, dlatego kwestia wyboru właściwej pojemności kolejki wiąże się z dokonaniem kompromisu pomiędzy wielkością strat, a późnieniem pakietów. a) b) Odchylenie standardowe parametru jitter [ms] 800 700 600 500 400 300 200 3 6 10 30 60 100 Wielkość kolejki [kb] Bufor 3 kb Bufor 6 kb Bufor 10 kb Bufor 30 kb Bufor 60 kb Bufor 100 kb Odchylenie standardowe parametru jitter [ms] 160 140 120 100 80 60 40 3 6 10 30 60 100 Wielkość kolejki [kb] Bufor 3 kb Bufor 6 kb Bufor 10 kb Bufor 30 kb Bufor 60 kb Bufor 100 kb Rys. 4. Wpływ wielkości kolejki i bufora TBF na odchylenie standardowe fluktuacji opóźnienia pakietów dla protokołu UDP (a) oraz TCP (b) przy szerokości kanału transmisji równej 1 Mb/s Wielkość odchylenia standardowego fluktuacji opóźnienia pakietów istotnie zależy od zastosowanego protokołu transmisji. Przy kolejce przekraczającej 30 kb, odchylenie standardowe parametru jitter osiąga poziom 250 350 ms dla protokołu UDP (rys. 4a) oraz 60 80 ms dla protokołu TCP (rys. 4b). Tak duże różnice wynikają ze sposobu działania odtwarzacza wideo. W przypadku protokołu UDP, gdy chwilowa szybkość transmisji bitów jest większa niż dostępna przepustowość, odtwarzacz realizuje proces zwany rozrzedzaniem strumienia. Polega to na zmniejszeniu szybkości klatek wideo emitowanego przez serwer w celu zmniejszenia wymaganej przepustowości, tak aby była mniejsza lub równa dostępnej przepustowości klienta. W efekcie odtwarzacz może renderować tylko klatki kluczowe strumienia wideo, przez co z wideo zostanie usunięty ruch i w okresach przeciążenia kanału przypomina ono pokaz slajdów. Jeśli szybkość transmisji bitów znacznie przekracza dostępną przepustowość, to odtwarzanie wideo może zostać zatrzymane i odtwarzana będzie tylko część audio. W przypadku protokołu TCP, w warunkach strat pakietów, nie jest realizowane rozrzedzanie strumienia, a retransmisje. Dlatego odchylenie standardowe fluktuacji opóźnienia pakietów jest odpowiednio mniejsze w porównaniu z protokołem UDP. Jednak dla protokołu TCP, przy dużej liczbie retransmisji, może znacznie wzrosnąć średnie opóźnienie pakietów, co znacznie pogarsza jakość prezentacji. Na rysunkach 5a, 5b i 6a przedstawiono poziom samopodobieństwa procesu fluktuacji opóźnienia pakietów w funkcji wielkości kolejki i wielkości bufora dla protokołów UDP i TCP. W przypadku protokołu UDP, współczynnik Hursta, wyrażający poziom samopodobieństwa procesu, waha się w przedziale 0,7 0,8 dla przepustowości kanału równej 1 Mb/s (rys. 5a) oraz w przedziale 0,65 0,88 dla kanału o szerokości 2 Mb/s (rys. 5b). Natomiast dla protokołu TCP, współczynnik Hursta osiąga poziom 0,5 0,6 (rys. 6a). Tak duża różnica wynika, naszym zdaniem, ze sposobu pracy źródła sygnału (serwera) w warunkach strat pakietów. Jeśli używany jest protokół UDP, serwer nie musi

Hierarchiczny model systemu strumieniowej transmisji obrazu... 9 odebrać potwierdzenia, że pakiet danych został pomyślnie odebrany, aby wysłać kolejny pakiet. Jeśli klient nie odbierze pakietu, żąda od serwera ponownego przesłania pakietu, jest to tzw. żądanie ponownego przesłania UDP. a) b) Rys. 5. Wpływ wielkości kolejki i bufora TBF na samopodobieństwo fluktuacji opóźnienia pakietów dla protokołu UDP przy szerokości kanału transmisji równej 1 Mb/s (a) i 2 Mb/s (b) Rys. 6. Wpływ wielkości kolejki i bufora TBF na samopodobieństwo fluktuacji opóźnienia pakietów dla protokołu TCP przy szerokości kanału transmisji równej 1 Mb/s Gdy serwer odbierze żądanie ponownego przesłania UDP, sprawdza, czy dane są jeszcze dostępne w buforze. Jeśli tak, dane zostają ponownie przesłane do klienta. W przeciwnym wypadku serwer nie może zrealizować żądania. Klient może zaakceptować utratę pewnej ilości pakietów i kontynuować renderowanie zawartości, nawet w przypadku niepomyślnego żądania ponownego przesłania UDP. Straty pakietów, w przypadku protokołu UDP, można więc porównać do wycinania z oryginalnego strumienia

10 Z. Omiotek, F. Grabowski fragmentów, którym odpowiada szybkość transmisji przekraczająca dostępną szerokość kanału. Odrzucanie małych fragmentów z całego strumienia nie zmienia istotnie zależności czasowych obserwowanych w strumieniu w większej skali czasu. Dlatego poziom samopodobieństwa obserwowany dla protokołu UDP jest stosunkowo wysoki. W przypadku, gdy używany jest protokół TCP, serwer musi poczekać, aż klient potwierdzi pomyślne odebranie pakietu, zanim będzie mógł wysłać następny. Jeśli pakiet danych zostanie utracony, serwer musi go ponownie wysłać, zanim transmisja danych będzie kontynuowana. Przy dużej liczbie utraconych pakietów rośnie liczba retransmisji. Retransmisje powodują zmianę relacji czasowych między kolejnymi pakietami. W efekcie poziom samopodobieństwa strumienia obserwowany w odbiorniku (rys. 6) jest odpowiednio mniejszy w porównaniu z protokołem UDP. W drugim etapie eksperymentu zbadaliśmy wpływ wybranych parametrów kompresji na poziom samopodobieństwa generowanego strumienia. Do generacji ramek obrazu w formacie QCIF (176 144 px) wykorzystaliśmy aplikację napisaną w języku Delphi. Wartość składowej koloru każdego piksela losowana była w zakresie do 16777216 (24 bity). Każda ramka obrazu została zapisana do pliku bmp. Następnie zbiór ramek z losową zawartością został przekształcony w plik wideo w formacie avi (pełne klatki nieskompresowane). W końcowym etapie plik avi był poddawany kodowaniu do formatu strumieniowego wmv za pomocą oprogramowania Windows Media Encoder. Na rys. 7a przedstawiono przykładową ramkę kodowanego obrazu. Dla kolejki TBF ustawiono następujące parametry: długość kolejki 10 kb, wielkość bufora z żetonami 10 kb. Przepustowość kanału transmisji ustawiana była na poziomie średniego pasma sygnału. Pomiar parametrów czasowych strumienia pakietów realizowany był w interfejsie serwera strumieniowego. a) b) 1,0 0,9 Współczynnik Hursta 0,8 0,7 0,6 Strumień MBR: 1000 kb/s Strumień MBR: 1000 kb/s + 500 kb/s + 250 kb/s Strumień MBR: 1000 kb/s + 700 kb/s + 500 kb/s + 300 kb/s + 250 kb/s 0,5 5 10 15 20 25 Wielkość bufora odtwarzajnia [s] Rys. 7. Przykładowa ramka kodowanego obrazu (a) oraz poziom samopodobieństwa natężenia ruchu pakietów w zależności od wielkości bufora odtwarzania i złożoności strumienia MBR (b) Na rys. 7b zaprezentowano zmianę stopnia samopodobieństwa natężenia ruchu pakietów w funkcji wielkości bufora odtwarzania, dla różnego stopnia złożoności strumienia MBR (ang. Multiple Bit Rate). Kodowanie z wieloma szybkościami transmisji bitów (MBR) jest odmianą kodowania ze stałą szybkością transmisji bitów (ang. Constant Bit Rate). W całym zakresie zmian wielkości bufora odtwarzania oraz dla wszystkich trzech

Hierarchiczny model systemu strumieniowej transmisji obrazu... 11 przypadków złożoności strumienia wartość współczynnika Hursta przekracza poziom równy 0,77. a) b) 1 WMV V7 - Windows Media Video V7 WMV V8 - Windows Media Video V8 WMV 9 - Windows Media Video 9 Współczynnik Hursta 0,8 0,6 0,4 0,2 0 WMV V7 WMV V8 WMV 9 Rodzaj kodera Rys. 8. Wpływ jakości obrazu i maksymalnego rozmiaru pakietu (a) oraz wersji kodera (b) na samopodobieństwo natężenia ruchu pakietów Podczas badań wykorzystano również kodowanie ze zmienną szybkością transmisji bitów w oparciu o jakość (rys. 8a). Okazuje się, że maksymalny rozmiar pakietu nie wpływa istotnie na samopodobieństwo strumienia, natomiast duży wpływ na tę cechę ma współczynnik jakości obrazu, wyrażony w bezwymiarowej skali od 0 do 100. W całym zakresie zmienności obu parametrów poziom samopodobieństwa strumienia waha się od 0,72 do 0,98. Zbadano również poziom samopodobieństwa strumienia w zależności od wersji kodera (rys. 8b). Dla wszystkich przypadków wartość współczynnika Hursta była zbliżona do poziomu ok. 0,8. 5. Podsumowanie Zmiana pojemności buforów, realizowana w najniższej warstwie modelu hierarchicznego (rys. 1) wpływa w określonym zakresie na wartości mierzonych parametrów (straty pakietów, odchylenie standardowe fluktuacji opóźnienia pakietów i parametr Hursta). Wpływ ten jest jednak ograniczony i nie zapewnia osiągnięcia, w określonych warunkach pomiarowych, zadowalającej jakości przekazu. Dopiero zwiększenie przepustowości łącza, realizowane na poziomie kanału transmisji modelu hierarchicznego, istotnie zmniejsza straty pakietów i poprawia jakość przekazu (rys. 3a i 3b). Ograniczając się jedynie do zmiany parametrów kanału transmisji nie jesteśmy jednak w stanie istotnie wpłynąć na wielkość zaburzeń obserwowanych w ruchu sieciowym, których miarą jest poziom samopodobieństwa strumienia pakietów (rys. 5a i 5b). Eksperyment wykazał, że duży wpływ na stopień samopodobieństwa strumienia ma zastosowany protokół transmisji (rys. 5a i 6). Stos protokołów znajduje się w środkowej warstwie modelu

12 Z. Omiotek, F. Grabowski hierarchicznego, jednak zastosowany protokół bezpośrednio wpływa na sposób formowania strumienia. Mechanizmy podziału na pakiety i formowania strumienia należą do najwyższej warstwy modelu hierarchicznego warstwy źródła sygnału i to one wraz z algorytmami kompresji w decydujący sposób wpływają na długoterminowe zależności czasowe obserwowane w strumieniu pakietów. Tę tezę potwierdziły wyniki drugiego etapu eksperymentu, w którym kodowaniu z różnymi parametrami poddawany był obraz losowy. Okazało się, że w sygnale wyjściowym występują zależności długoterminowe, bez względu na zakres zmian parametrów kodowania (rys. 7b, 8a i 8b). Zdaniem autorów, badania potwierdziły założenie o hierarchicznej naturze systemu transmisji obrazu ruchomego w Internecie. Poszczególne warstwy w takim systemie mają określone znaczenie w procesie zapewnienia odpowiedniej jakości przekazu, przy czym im wyżej w strukturze leży dana warstwa, tym większy jest jej wpływ na działanie całego systemu. LITERATURA 1. Kim B.-J., Xiong Z., Pearlman W. A.: Low bit-rate scalable video coding with 3D set partitioning in hierarchical trees (3D SPIHT). IEEE Trans. Circuits Syst. Video Technol., Dec. 2000, Vol. 10, pp. 1374-1387. 2. Girod B., Horn U., Belzer B.: Scalable video coding with multiscale motion compensation and unequal error protection. Proc. Symp. Multimedia Communications and Video Coding, New York, Oct. 1995, pp. 475-482. 3. Wu F., Li S., Zhang Y.-Q.: A framework for efficient progressive fine granularity scalable video coding. IEEE Trans. Circuits Syst. Video Technol., Mar. 2001, Vol. 11, pp. 282-300. 4. Wu D., Hou Y. T., Zhang Y.-Q.: Transporting real-time video over the Internet: Challenges and approaches. Proc. IEEE, Dec. 2000, Vol. 88, pp. 1855-1875. 5. McCanne S., Jacobsen V. Vetterli M.: Receiver-driven layered multicast. ACM SIGCOMM, Aug. 1996. 6. Puri R., Ramchandran K., Lee K. W., Bharghavan V.: Application of FEC based multiple description coding to Internet video streaming and multicast. Proc. Packet VideoWorkshop, Cagliari, Sardinia, Italy, May 1-2, 2000. 7. Wang Y., Zhu Q.-F.: Error control and concealment for video communication: A review. Proc. IEEE, May 1998, Vol. 86, pp. 974-997. 8. Wang Y., Zhu Q.-F., Shaw L.: Maximally smooth image recovery in transform coding. IEEE Trans. Commun., Oct. 1993, Vol. 41, pp. 1544-1551. 9. Hemy M., Hengartner U., Steenkiste P., Gross T.: MPEG system streams in best-effort networks. Proc. IEEE Packet Video 99, Apr. 1999. 10. Yu F., Zhang Q., Zhu W., Zhang Y.-Q.: QoS-adaptive proxy caching for multimedia streaming over the Internet. Proc. 1 st IEEE Pacific-Rim Conf. Multimedia, Sydney, Australia, Dec. 13-15, 2000. 11. Gemmell J., Vin H. M., Kandlur D. D., Rangan P. V., Rowe L. A.: Multimedia storage servers: A tutorial. IEEE Comput. Mag., May 1995, Vol. 28, pp. 40-49. 12. Shenoy P., Vin H. M.: Efficient striping techniques for multimedia file servers. Perform. Eval., Dec. 1999, Vol. 38, No. 3 4, pp. 175-199.

Hierarchiczny model systemu strumieniowej transmisji obrazu... 13 13. Gafsi J., Biersack E. W.: Performance and reliability study for distributed video servers: Mirroring or parity?. Proc. IEEE Int. Conf. Multimedia Computing and Systems, June 1999, pp. 628-634. 14. Blakowski G., Steinmetz R.: A media synchronization survey: Reference model, specification, and case studies. IEEE J. Select. Areas Commun., Jan. 1996, Vol. 14, pp. 5-35. 15. Kalman M., Steinbach E., Girod B.: Adaptive Media Playout for Low Delay Video Streaming over Error-Prone Channels. Preprint, to appear IEEE Trans. Circuits and Systems for Video Technology. 16. Girod B., Chakareski J., Kalman M., Liang Y., Setton E., Zhang R.: Advances in Network-Adaptive Video Streaming. 2002 Tyrrhenian Inter. Workshop on Digital Communications, Sept 2002. 17. Willinger W., Leland W. E., Taqqu M. S., Wilson D. V.: On the Self-Similar Nature of Ethernet Traffic (extended version). IEEE/ACM Transactions on Networking, February 1994, pp. 1-15. 18. Park K., Kim G., Crovella M.: On the effect of traffic self-similarity on network performance. Technical Report CSD-TR-97-024, Purdue University, Dept. of Computer Sciences, April 1997.