Professional Documents
Culture Documents
Dio 3
Multimedijalno umrežavanje
• Potom slijedi
– klasifikacija aplikacija
• U videu postoje
– dvije vrste redundantnosti
– koje mogu da se koriste za video kompresiju.
• Vremenska redundantnost
– predstavlja ponavljanje iz jedne slike u sljedeću.
• Algoritmi za kompresiju
– mogu da komprimuju video
– praktično na svaki željeni bitrate (bitsku brzinu).
• Možemo da napravimo,
– tri verzije istog videa,
– sa brzinama od 300 kb/s, 1 Mb/s i 3 Mb/s.
• Digitalni zvuk
– uključujući digitalizovani govor i muziku
– ima znatno manje zahtjeve
– za propusnim opsegom od videa.
• Srodan standard je
– Advanced Audio Coding-AAC,
– koji popularizuje Apple.
• 128kbps
» 128 kilo bita po sekundi
» 16 kilo bajta po sekundi)
– najčešće korištena bitrata,
– sa najboljim odnosom kvaliteta zvuka i veličine
datoteke.
» CD - kvalitet,
– a mjera kompresije joj je približno
– 1:11 (11 puta manja datoteka).
• 2. dubina/kvantizacija=16 bita
– za predstavljanje visine amplitude
– na raspolaganju imamo ukupno 65536 tačaka.
• Pretpostavimo da se nalazite
– na aerodromu ili u diskoteci.
– Postoji realna vjerovatnoća
» da vašeg sagovornika nećete uopšte čuti
» zbog buke koja vas okružuje.
• To je direktna posljedica
• maskiranja frekvencija,
• kada su tiše frekvencije potisnute
– (maskirane) glasnijim.
• Psiho-akustični model
– koristi ovu činjenicu da kreira model
– pomoću kojeg će na najbolji način biti iskorišćeno
– odbacivanje nekih frekvencija koje su maskirane
– bez velikog uticaja na kvalitet zvuka.
• Usredsredićemo se na protok
» (streaming-striming)
– uskladištenog videa,
– koji obično istovremeno obuhvata
– video i zvučne komponente.
• (1) Striming.
• U aplikaciji za striming uskladištenog videa,
– klijent obično počinje emitovanje nekoliko sekundi
– nakon što počne prijem videa sa servera.
• (2) Interaktivnost.
• Pošto je sadržaj prethodno snimljen,
– korisnik može da privremeno prekine,
– premota unaprijed ili unazad
– kroz video sadržaj.
• Korišćenjem
• (1) baferovanja i
• (2) prethodnog preuzimanja,
– moguće je obezbediti kontinualno emitovanje
– čak i kada se propusna moć mijenja
• Za elastične aplikacije,
– veća kašnjenja su neprijatna,
» ali ne i posebno štetna,
– cjelovitost i integritet prenijetih podataka neuporedivo su
značajniji.
Boris Damjanović P 1.48
(iii) protok audio/video signala uživo
• Zajednička karakteristika
– sva tri oblika video striminga
– je veliko korišćenje baferovanja
» u aplikacijama sa klijentske strane,
– čime se ublažavaju posljedice kašnjenja
» od jednog do drugog kraja i
– promenljive količine propusnog opsega
• Za striming videa
– korisnici uglavnom mogu da tolerišu
– malo početno kašnjenje od nekoliko sekundi
• U ovom primjeru,
• ako bi klijent započeo emitovanje
– čim prvi blok stigne u t1
– drugi blok ne bi stigao na vrijeme do servera
– da bi se reprodukovao u t1 + Δ.
» emitovanje videa bi moralo da se zaustavi
» ili bi se blok 2 preskočio
• Sa UDP strimingom,
– server prenosi video
– tako što odsječke videa šalje
– stalnom brzinom preko protokola UDP.
• Nedostaci:
• (1) Zbog nepredvidive i promjenljive količine
– raspoloživog propusnog opsega između servera i klijenta,
– UDP striming konstantnom brzinom
– ne omogućava uvijek kontinualnu reprodukciju
• (2) Potreban je server za kontrolu medija,
– kao što je RTSP server,
– koji obrađuje zahtjeve klijenta prema serveru i
– prati stanje klijenta
» poziciju klijenta u emitovanju videa,
» da li je video pauziran ili se emituje i tako dalje
– za sve uspostavljene veze klijenata.
• (3) Mnoge mrežne barijere konfigurisane tako
– da blokiraju UDP saobraćaj,
– pa korisnici iza tih mrežnih barijera ne mogu da primaju UDP video
• U HTTP strimingu,
– video se jednostavno čuva na HTTP serveru
– kao obična datoteka
» sa određenom URL adresom.
• TCP mehanizmi
– nisu uvijek prepreka za kontinualno emitovanje
– ako se koristi
» baferovanje i prethodno preuzimanje
Boris Damjanović P 1.71
Prethodno preuzimanje (prefeching)
• U primjeru sa slike
– server prenosi video brzinom
– kojom bi video trebalo da se emituje
• U realnosti,
– Server može prenositi podatke i brže!
• Pretpostavimo da je
– brzina korišćenja videa 1 Mb/s,
• ali da je mreža u stanju da isporuči video
– od servera do klijenta
– konstantnom brzinom od 1,5 Mb/s.
• Na slici je
– interakcija između klijenta i servera za HTTP striming
• Lijevo, na strani servera
– dio video datoteke prikazan bijelom bojom
» već je poslat u soket servera,
– dok je tamniji dio ono što je
» preostalo da se pošalje
• Iz ovog bafera
– podaci se smještaju
• u TCP bafer za slanje
– prije nego što se prenesu na internet
• Na klijentskoj strani,
– klijentska aplikacija (media player)
– učitava podatke iz TCP prijemnog bafera
– i smješta ih u bafer klijentske aplikacije.
• Klijentska aplikacija
– povremeno uzima video okvire iz bafera
– dekomprimuje okvire i prikazuje ih
• Šta se dešava
– kada korisnik pauzira video tokom striminga?
• Za vrijeme pauze,
– podaci se ne uzimaju iz bafera klijentske aplikacije,
– mada podaci i dalje pristižu iz servera u bafer.
• Ako je bafer klijentske aplikacije konačan,
– on će se na kraju popuniti,
– što dovodi do „povratnog pritiska” (back pressure)
– čitavim putem do servera
• Da bi se odredila ta brzina,
• mora se voditi računa o tome da,
– kada klijentska aplikacija ukloni f bita,
• jer ih je uzela da prikaže korisniku
» ona u baferu klijentske aplikacije
» pravi mjesto za f bita,
– što sa svoje strane omogućava da
» server pošalje f dodatnih bita.
• Pretpostavimo da je u trenutku t = 0
– bafer aplikacije prazan i
» video počinje da stiže u bafer klijentske aplikacije.
• Sada se pitamo u kom trenutku t = tp
– počinje emitovanje.
• Takođe se pitamo u kom trenutku t = tf
– će se popuniti bafer klijentske aplikacije.
• Reprodukcija počinje
– kada se u baferu nalazi Q bita.
• Vrijeme potrebno da se on popuni je Q/x sekundi
– U tom vremenu, na početku, nema reprodukcije!
– Bafer se ne prazni!
• Za popunjavanje dodatnih B-Q bita,
– potrebno je (B - Q)/(x - r) sekundi.
» Sada se bafer istovremeno i popunjava i prazni!
» Ali se popunjava većom brzinom
• Znači, ukupno vrijeme za popunjavanje bafera je
• tf = (Q/x) + (B - Q)/(x - r) sekundi
• Ovdje se usredsređujemo
– samo na razgovor,
» a ne na kombinaciju prenosa glasa i videa
• Opisaćemo ograničenja
• IP usluge najboljeg pokušaja
– u slučaju određenog VoIP primjera
• Primjer:
• Pošiljalac generiše podatke brzinom od
– 8000 bajta u sekundi,
– a svakih 20 milisekundi
– pošiljalac prikuplja bajte u odsječke.
• Ali, na nesreću,
– neki paketi mogu da se izgube,
– a većina paketa nema isto kašnjenje
» od kraja do kraja,
– čak i u slabo zagušenom internetu.
• Kako?
• Da biste to razumjeli,
– opet zamislite dva susjedna paketa.
• Na primjer,
• Za prvu reprodukciju,
– fiksno početno odlaganje reprodukcije
– postavljeno je na p - r.
• Za ovako emitovanje,
– četvrti paket ne stiže na vrijeme za
– i primalac smatra da je izgubljen.
• Za drugu reprodukciju,
– fiksno početno odlaganje reprodukcije
» postavljeno je na p' - r.
• Za ovakvu reprodukciju,
– svi paketi stižu prije vremena
» predviđenih za njihovu reprodukciju,
– pa zato nema gubitaka.
• U prethodnom primjeru
– prikazan je značaj kompromisa
– između odlaganja i gubitaka
– koji se javlja pri primjeni strategije
– reprodukcije sa fiksnim odlaganjem.
• Na taj način,
– kad god se desi gubitak pojedinačnog paketa,
– primalac može da prikrije gubitak,
» tako što emituje taj odsječak
» kodiran malom bitratom
» koji stiže sa slijedećim paketom.
• Na slici pokazuje se da
• gubitak jednog paketa iz prepletenog toka
– dovodi do više malih procjepa
– u oporavljenom toku,
• za razliku od jednog velikog procepa
– koji bi se pojavio u neprepletenom toku.
• Kao takve,
– tehnike zamjena za izgubljeni paket
• uspješno rade
– kod relativno malih gubitaka
» (manjih od 15 procenata)
– i malih paketa
» (4-40 ms).
• Ponavljanje paketa je
– možda najjednostavniji oblik
– oporavka na strani primaoca.
• On je takođe komplementaran
– sa drugim značajnim protokolima
– za interaktivni prenos u realnom vremenu,
– kao što je SIP - Session Initiation Protocol.
Boris Damjanović P 1.160
Osnove RTP protokola
• RTP, po pravilu,
– radi preko protokola UDP.
• Predajna strana
– ispred svakog odsječka audio podataka
• stavlja RTP zaglavlje
– koje obuhvata vrstu audio kodiranja,
– redni broj i
– vremensku oznaku.
• RTP zaglavlje
– uobičajeno ima 12 bajta.
• Na prijemnoj strani,
– aplikacija prima RTP paket
– iz interfejsa svog soketa.
• RTP ne nudi
– bilo kakav mehanizam kojim bi osigurao
» pravovremenu isporuku podataka ili
– ponudio druge garancije za kvalitet usluge
» quality-of-service - QoS
• Za video tok,
– tip korisnih podataka
– se koristi da se naznači
– način video kodovanja
» (na primjer, motion JPEG, MPEG 1, MPEG 2, H.261).
• I u ovom slučaju,
– pošiljalac može da promijeni
– video kodiranje tokom trajanja sesije.
• Na primjer,
– ako prijemna strana aplikacije
– prima tok RTP paketa
– sa procjepom između rednih brojeva 86 i 89,
– onda primalac zna
» da nedostaju paketi 87 i 88.
• Primalac tada može da pokuša
– da prikrije izgubljene podatke.
• Protokol SIP
– Session Initiation Protocol –
– Protokol za započinjanje sesije
• je jednostavan je protokol otvorenog koda
– koji radi sljedeće:
• Pogledaćemo primjer.
• U ovom primjeru, Alisa je ispred računara i
– želi da pozove Boba,
» koji takođe radi na svom računaru.
• Alisin i Bobov računar su opremljeni
– softverom za pozivanje i primanje telefonskih poziva
– koji se zasniva na protokolu SIP.
INVITE ...
...
From: sip:alice@hereway.com
To: sip:bob@domain.com
Call-ID: a2e3a@pigeon.hereway.com
…
• U tom slučaju,
– Alisi je potrebno da dobije
– IP adresu uređaja
» koji korisnik bob@domain.com trenutno koristi.
• Bobov registrar/proksi
– Zna tačnu Bobovu adresu ili
– Zna gdje se ona može naći.
• Primjer
• pogledajte sliku na kojoj korisnik jim@umass.edu,
– koji trenutno radi na 217.123.56.89,
– lijevo
• želi da započne razgovor koristeći VoIP
– (Voice over IP)
• sa korisnikom keith@upenn.edu,
– koji trenutno radi na 197.87.54.21.
– desno
• Sa ekonomskog stanovišta,
– da li bi korisnici bili spremni
– da svojim posrednicima za internet usluge plate dovoljno?
• Zapažanje 1:
• Označavanje paketa omogućava
– da ruter razlikuje pakete koji
– pripadaju različitim klasama saobraćaja.
• Zapažanje 2:
• Poželjno je obezbjediti neki stepen izolacije
– između klasa saobraćaja,
» tako da jedna klasa ne trpi
– negativan uticaj druge klase saobraćaja
» koja se loše ponaša.
• Napominjemo da mogu da se
– primjene dva opšta rešenja.
• Prepoznaju se
– tri važna kriterijuma za nadgledanje
• Podsjetićemo se
• Ponderisano (težinsko) ravnopravno čekanje (weighted fair
queuing, WFQ)
– u kome se izlazni link ravnopravno dijeli i
» zmeđu različitih veza sa kraja na kraj
» čiji paketi čekaju na prenos.
• Svakoj vezi se garantuje dio propusnog opsega
– Prema ponderu - težini (weight) wi.
• Usredsredimo se na tok 1.
• Pretpostavimo daje bušna kofa toka 1
– u početku puna.
• Nalet od paketa stiže
– do bušne kofe za tok 1.
• Ti paketi uzimaju sve žetone (bez čekanja)
– iz bušne kofe i pridružuju se
– WFQ baferu čekanja za tok 1.
• Potreba za prilagodljivošću
– nastaje iz činjenice da na backbone ruteru
» može da bude
– više miliona istovremenih tokova saobraćaja
» od izvora do odredišta.
• U nekim slučajevima,
– krajnji korisnik se možda saglasio
» da ograniči brzinu slanja njegovih paketa
– tako da bude unutar deklarisanog profila saobraćaja.
• S druge strane,
– ako se prekrši profil saobraćaja,
» paketi van profila
» mogu da se označe drugačije,
– da im se promijeni način proslijeđivanja
• (oblik-shape)
» na primjer, da se zadrže
• kako bi se poštovalo ograničenje
• maksimalne brzine,
» ili da se odbace na obodu mreže.
• Zaključci