A/V -Streaming

19.11.1998

Juha Parhankangas
Ti
Teknillinen Korkeakoulu
Email: jparhank@cc.hut.fi

Niko Stenberg
S
Teknillinen Korkeakoulu
Email: nstenber@cc.hut.fi

Tiivistelmä

Tietoliikenteeltä ja Internetiltä vaaditut palvelut ja laatu eivät vielä muutama vuosi sitten olleet kovinkaan monimutkaisia tai hankalia toteuttaa. Lähinnä vaadittiin vain mahdollisuus olla yhteydessä muualle maailmaan etäpäätteen avulla, lähettämällä sähköpostia tai siirtämällä tiedostoja sähköisesti FTP-protokollaa hyväksikäyttäen. Verkosta oli toki myös tällöin saatavilla paljon tietoa, tosin vielä pelkästään tekstimuodossa. Koska kuva ja ääni ovat myös merkittäviä informaatiolähteitä ja koska tiedonsiirron perustekniikkaa ei tarvinnut juurikaan muuttaa, pystyttiin WWW-ympäristö kehittämään varsin nopeasti viihtyisämmäksi. Samoihin aikoihin multimedia oli alkanut kiinnostaa ihmisiä sekä käsitteenä, että tuotteina. CD-ROM vakiinnutti paikkansa taiteen ja viihteen talletusmuotona ja myös suurelle yleisölle alkoi hahmottua Internetin mahdollisuus suurempana, monimuotoisena ja yksinkertaisena mediana kuin periaatteessa mikään aikaisempi tietolähde yksin oli ollut. Kuitenkaan tietoliikenneteknologiat eivät kykene vielä reaaliaikaiseen kuvan ja äänen siirtämiseen täysin kattavasti, joten WWW:n multimediavallankumous on pakottanut tutkimuksen ja teollisuuden kehittämään uusia nopeita ja tehokkaita tietoliikenneteknologioita, jotta laatu saataisiin vastaamaan kysyntää. Audio/Video -Streaming tekniikoiden kehittäminen on alkanut. Oleellista on parantaa tiedonsiirtoformaatteja, tiedon pakkausmenetelmiä ja protokollia.

1. Johdanto

Perinteiset tiedonsiirtomenetelmät ovat käyttäjän kannalta joskus hyvinkin turhauttavia, koska ne edellyttävät siirrettävän tiedoston/ohjelman olevan kokonaan perillä, ennenkuin tätä tiedostoa/ohjelmaa voidaan käyttää hyväksi. Ruuhkaisia yhteyksiä käytettäessä tämä merkitsee pitkiä odotusaikoja. Niin kutsutut Streaming -teknologiat kehitettiin, jotta seuraavat edut pystyttäisiin saavuttamaan:

Kuvan ja äänen tallentaminen vie paljon tilaa. Vaaditaan erilaisia tehokkaita pakkausmenetelmiä, jotta data voitaisiin redusoida vastaamaan tiedonsiirtokapasiteetin tarjoamia mahdollisuuksia. Näitä ovat mm. MPEG, Vivo ja VDO.[5]

Reaaliaikaista tiedonsiirtoa tukemaan on suunniteltu myös protokollia. Netscape ja RealNetworks ovat kehittäneet RTSP:n (Real Time Streaming Protocol)[7]. Muita protokollia ovat mm. RTP (Real Time Protocol),UDP (User Datagram Protocol) edellisen parannus XUDP (eXtended User Datagram Protocol). Nämä kaikki pyrkivät täyttämään juuri reaaliaikaisuuden asettamia vaatimuksia. Tärkeää on luonnollisesti pitää tiedonsiirto jatkuvasti käynnissä tietyllä asteella, vaikka laatu voikin kärsiä.[1,6]

Muita menetelmiä, joilla Streaming -tekniikan vaatimuksia toteutetaan tai toteutumista helpotetaan, ovat suodatus, sekä tiedon koodausmenetelmät ja siirtomedian tyyppi. Jälkimmäiset eivät kuulu Streaming -tekniikkaan, vaan niillä pyritään puhtaasti vain kasvattamaan siirtonopeuksia. Periaatteessahan reaaliaikaisuutta ei nykytekniikalla voida saavuttaa täysin, vaikka A/V-tekniikka muuten hiottaisiinkin huippuunsa.

2. Protokollat

Perinteinen Internetin tiedonsiirto keskittyy toimittamaan datan perille luotettavasti mahdollisimman pienellä viiveellä ja TCP/IP pystyy suoriutumaan tästä tehtävästä varsin hyvin. Reaaliaikaisuuden vaatimuksiin se ei kuitenkaan pysty vastaamaan, koska esimerkiksi datapaketit pystytään toimittamaan perille eri reittejä pitkin, mikä voi aiheuttaa merkittäviä katkoksia informaatioon, jonka tulisi toimia jatkuvana kuvana tai äänenä. TCP/IP ei siis sisällä aikavaatimuksia, joka on multimedian siirtovaatimuksena keskeinen. Uusia siirtoprotokollia on siis jouduttu kehittämään, jotta uuden tyyppisiä vaatimuksia pystyttäisiin tukemaan.[3]

2.2 RTP ( Real-time Transfer Protocol)

RTP on suunniteltu ensisijaisesti huolehtimaan reaaliaikaisuuden asettamista vaatimuksista, vaikka se ei itse suoraan takaa mitään toimintoja. Se liittää lähettämiinsä datapaketteihin sarjanumerot, jotta vastaanottaja kykenee konstruoimaan tietovirran oikeassa järjestyksessä. Se ei kuitenkaan ota vastuuta verkon luotettavuudesta, eli pyri lähettämään paketteja primaarisesti oikeassa järjestyksessä. RTP toimii multicast -menetelmällä, eli paketteja voidaan lähettää useaan eri kohteeseen.

RTP -otsikkokenttä sisältää tarpeellisen ajastusinformaation, jotta data voidaan synkronisoida ja esittää oikeina sekvensseinä. Se tutkii ajallisesti, onko joitakin datapaketteja kadotettu tai saapuuko niitä epäjärjestyksessä. Se ei kuitenkaan takaa lähetetyille paketeille minkäänlaista laatutasoa.[3,4]

2.3 RTSP ( Real Time Streaming Protocol)

RTSP:n ovat kehittäneet Netscape ja RealNetworks. Se toimii RTP:n päällä. Sen tehtävinä on standardisoida verkossa liikkuvien multimediapakettien otsikoiden pakkausmenetelmä. Tärkeää on myös käyttäjän kelatessa tietovirtaa eteen tai taakse päin, odotusaikojen minimointi. RTSP:n saaminen suurten massojen käyttöön vie aikaa, jos se koskaan edes tapahtuu. Kilpailevat yritykset kehittelevät luonnollisesti omia ratkaisujaan, eikä kenellekään haluta antaa etulyöntiasemaa pelkästään sen perusteella, että hyvä ja toimiva teknologia olisi keksitty.[7]

2.4 UDP (User Datagram Protocol)

UDP on vaihtoehto TCP:lle. Kuten ylempänä mainittiin, TCP/IP:n tarkoituksena on toimittaa data perille mahdollisimman pienellä viiveellä luotettavasti. UDP tavallaan oikaisee näissä ratkaisuissa, jotta tiedonsiirto voisi tapahtua nopeammin. Jotta tietovirran esittäminen reaaliajassa ei kärsisi, UDP sallii myöhässä olevien tai virheellisten pakettien poispudottamisen. Lopputulos luonnollisesti kärsii jonkin verran kun virheentarkistusta on hellennetty, mutta periaatteessa näin saadaan aikaan suhteellisen sulava lopputulos ja näin toteutetaan myös Streamingin ideologiaa. Haittana voidaan pitää sitä, että palomuurit usein estävät UDP -pakettien siirron.[6]

2.5 XUDP ( eXtended User Datagram Protocol)

XUDP on nimensä mukaisesti UDP:n parannus. TCP ja UDP eivät kykene toimimaan aivan multimedian asettamien tiedonsiirto-odotusten mukaisesti.XUDP pyrkii toimimaan kuten UDP, mutta periaatteena on liittää tähän toimintokokonaisuuteen lisäksi TCP:n virheiden minimointi. Protokolla voidaan toteuttaa perinteisen UDP:n päälle IP-rajapintana lisäämällä siihen nopea tarkistussummamenetelmä ja I/O -multipleksaus. XUDP voi toimia kolmessa eri tilassa:

XUDP ottaa käyttöön uuden tiedonsiirtokokonaisuuden, suomeksi palstan tai paketin (englanniksi parcel). Jokaisen palstan koko asetetaan lähetystilanteessa ja sen koko voi vaihdella yhdestä tavusta 32:een kilotavuun.[1]

3. Tiedon kompressointi

Siirrettäessä mediaa tavallisille käyttäjille verkon yli täytyy ottaa huomioon erittäin rajalliset tiedonsiirtonopeudet. Jotta edes jonkinlainen kuvan- tai äänenlaatu saataisiin reaaliaikaisessa siirrossa mahdolliseksi, täytyy siirrettävänä olevaa mediaa pakata pienempään tilaan. Eri kompressiomenetelmät toteuttavat tämän eri tavoilla, jotkut paremmin, jotkut huonommin. Yhdistävänä tekijänä kaikilla kompressiomenetelmillä on häviöllisyys. Verkon tiedonsiirtonopeudet eivät yksinkertaisesti riitä toistamaan mediaa alkuperäisessä muodossaan. Häviöttömillä pakkausmenetelmillä voidaan saada alkuperäinen tieto n. 20% pienemmäksi hyvässä tapauksessa, mutta tämä ei alkuunkaan riitä. Lisäksi häviöttömät pakkausmenetelmät vaativat paljon prosessointitehoa, joten laitteistovaatimukset kohoaisivat huimiksi ja muussa tapauksessa jouduttaisiin luopumaan reaaliaikaisuudesta.

Häviöllisiä menetelmiä käytettäessä päästään siis huomattavasti suurempaan kompressioon, laadun kustannuksella. Häviöllisten menetelmien suunnittelussa pyritään huomioimaan ihmisen havainnointikyky. Esimerkiksi kuvasta ei voi havaita kovin selvästi hyvin lähekkäisten värien eroa ja saman väriset alueet voi koodata siten, että ne vievät huomattavasti vähemmän tilaa. Informaatiota voi siis jossain määrin hävittää. Liikkuvassa kuvassa tämä raja nousee vielä hieman ylemmäs. Tämän huomaa selvästi esim. MPEG-formaatin kuvasta. Lisäksi liikkuvan kuvan pakkauksessa otetaan huomioon muutokset edellisestä kuvasta.

Hyvänä esimerkkinä tiedon kompressoinnin välttämättömyydestä on äänen siirto verkon yli. Ollakseen siedettävää laadultaan, digitaalisen äänen näytteenottotaajuuden on oltava vähintään 8000 kHz. Nämä näytteet voidaan koodata esim. 8 bitillä, joka on käytännön minimi. Tällöin sekunnin mittainen ääni veisi tilaa 8000 * 8 bittiä = 64 kb (8 kilotavua). Oletetaan, että verkkoon on muodostettu yhteys nopeimmalla tämänhetkisen standardin modeemilla, joka kykenee 56600 bitin sekuntivauhtiin. (Modeemilla käytännön tiedonsiirtonopeus on huomattavasti alempi.) Tiedonsiirtonopeus ei siis edes teoriassa riitä äänen siirtoon pakkaamatta, vaikka linja olisi täydellisen häiriötön, eikä reitillä olisi ruuhkaa. Saati sitten, että mukaan pitäisi vielä liittää liikkuvaa kuvaa. Tyypillisen PAL-muodossa olevan TV-lähetyksen siirto vaatisi noin 140MBps tiedonsiirtonopeuden ja tietokoneella vielä suuremman, koska fragmentointi ja enkapsulointi vievät oman aikansa.Tiedon kompressointi on siis oleellisen tärkeää vielä hyvin pitkään. [6]

3.2 Videon kompressiostandardit

Nykyisiä kompressiostandardeja tarkastellessa, voidaan havaita, että yksikään ei ole ideaalinen Internet-videota varten. Lähivuosien aikana tullaan näkemään joukko uusia algoritmeja, jotka ovat erityisesti suunniteltu Internetiä varten.

4. Formaatit ja ohjelmistot

4.2 Shockwave (MacroMedia)

Shockwave on yksi tämän hetken suosituimmista muodoista katsella videota Internetissä. Shockwave koostuu kahdesta komponentista. Palvelimen puolella on oltava työkalu, joka kompressoi videotiedostoja Internet-siirtoon sopivaksi. Käyttäjällä on oltava selaimessaan plug-in, joka purkaa videon katseltavaksi suoraan HTML-dokumenttiin.

4.3 RealVideo (Progressive Networks)

RealVideo on jatkoa Progressive Networksin RealAudio-tuotteelle. RealVideo käyttää RTSP-protokollaa UDP-protokollan päällä. RealVideo osaa käyttää monia menetelmiä, jotta voitaisiin valita oikea vaihtoehto tiedonsiirtonopeutta ajatellen. Lisäksi RealVideo osaa säätää päivitystaajuutta reaaliajassa, jos linjalla havaitaan heikkenemistä.

4.4 Stream Works (Xing Technology)

Stream Works voi siirtää ääntä ja kuvaa Internetissä. Video voi olla MPEG-1 -pakattua. Videon tarjoajat pakkaavat videon potentiaalisten käyttäjien kaistanleveyden mukaan. StreamWorks tukee ns. thinning-tekniikkaa, jolloin suurelle kaistanleveydelle tarkoitettua datavirtaa voidaan ohentaa, jotta sitä voitaisiin siirtää myös pienemmällä kaistanleveydellä toimivissa verkoissa. Alhaisilla kaistanleveyksillä StreamWorks ylläpitää jatkuvaa 8 - 10Kbps audiovirtaa ja videolle jää käytettäväksi jäljellä oleva kaistanleveys.

4.5 VDOLive (VDONet)

VDOLiveä käytettäessä tarkoituksena on, että videon tarjoajat voivat käyttää vain yhtä lähdettä videolleen ja sitä voidaan skaalata yhteyden nopeuden mukaan. VDOLiven kompressiotekniikalla voidaan yksittäisen videoruudun laatua tiputtaa, sen sijaan, että tiputettaisiin pois kokonaisia ruutuja. Sen takia VDOLive tarjoaa hieman suuremman päivitysnopeuden, kuin esim. StreamWorks, mutta kuvan laatu on usein paljon heikompaa. Äänen laatu on silti hyvää.

4.6 Vosaic

Vosaic käyttää ns. VDP-protokollaa. Se on periaatteessa sama kuin RTP-protokolla, mutta VDP avaa kaksi kanavaa kommunikoivien laitteiden välille, toisen ollessa kontrollikanava ja toisen varsinainen streaming datakanava. Vosaic tukee monia ääni- ja videostandardeja, mukaanlukien MPEG-1, MPEG-2, GSM audio, ja H.263. Standardeista valitaan sopivin yhteyden mukaan. Vosaic skaalaa videota jättämällä pois ruutuja. Myös äänessä voi olla katkoksia, toisin kuin VD OLiveä käytettäessä, joka ylläpitää äänen kulun kuvan kustannuksella. Vosaic-videoita katsellakseen tarvitsee Vosaic-plug-inin.

4.7 VivoActive

VivoActive tukee audio- ja video -streamingia tavallisella HTTP-yhteydellä. Se käyttää nimenomaisia VIV-tiedostoja, joiden pakkaussuhde on luokkaa 250:1. VivoActive käyttää kuvan pakkaamiseen H.263-standardia ja äänen pakkamiseen G.723-standardia. Paljon pakattavan videon ominaisuuksista on säädettävissä yhteyden mukaan. Jälleen tarvitaan erillinen plug-in videoiden katseluun.

4.8 NetShow (Microsoft)

NetShow tukee monia äänen ja kuvan pakkausmenetelmiä. Video voi olla tuotettu käyttäen VivoActivea. NetShow tukee myös RealAudiota ja RealVideota. Tiedonsiirrossa NetShow käyttää UDP-protokollaa. Suurin rajoitus NetShowlla on se, että se ei tue korkealaatuisimpia videoformaatteja, joita voitaisiin siirtää nopeilla yhteyksillä. Sen sijaan se tarjoaa erittäin hyvälaatuista videota matalilla siirtonopeuksilla. NetShown suuri etu on sen joustavuus ja tuki useille menetelmille.[2,6]

5. Yhteenveto

Multimedian siirto Internetissä edellyttää tekniikalta enemmän "joustavuutta", jotta voitaisiin aikaansaada jatkuvuus, jota reaaliaikainen multimedia tarvitsee. Tekniikat, joita digitaalisen videon toistoon käytetään esim. CD-ROM- tai DVD-videoissa tai digitaalisissa TV-lähetyksissä, eivät sellaisenaan sovi käyttöön Internetissä. Tiedon siirtonopeus on sekä riittämätöntä, että liian vaihtelevaa, jotta vaadittu laatu ja tasaisuus olisi taattu. Niinpä uutta tekniikkaa pyritään alati kehittämään, jotta Internetistä voisi tulla se multimedialähde, jota siitä odotetaan. Kompressio- ja tiedonsiirtomenetelmät yrittävät käyttää koko tiedonsiirtokapasiteetin mahdollisimman hyvän laadun aikaansaamiseksi.

Lopullisen rajan laadulle vetää kuitenkin verkon pohjalla oleva tekniikka ja käytettävä yhteys. Tulevat parannukset protokolliin ja kompressioalgoritmeihin eivät poista sitä tosiseikkaa, että tiedonsiirtonoputta tarvitaan vielä huomattavasti lisää, jotta päästäisiin edes lähelle CD-ROM-tasoista materiaalia. Niin kauan kuin modeemit ovat pääasiallinen liittymätapa Internetiin, ei ole odotettavissakaan suurta parannusta multimedian tasoon. Streaming-tekniikka kuitenkin mahdollistaa todellisen reaaliaikaisuuden Internetissä, joka parantaa huomattavasti käyttömukavuutta. Tämän ollessa lähtökohtana Streaming-tekniikka nostaa huomattavasti myös hitaiden yhteyksien käyttöarvoa. Nopeilla yhteyksillä päästäänkin parhaillaan jo hyvinkin näyttäviin esityksiin.

Lähdeluettelo

[1] Andrews, Michael J., XUDP: A Real-Time Multimedia Network Protocol, 19.3.1997 [Viitattu 22.11.1998]
<http://www.gweep.net/~rocko/mqp/mqp.html>

[2] Anon, Comparison of Audio Streaming Technologies, 19.4.1997 [Viitattu 22.11.1998]
<http://www.ils.unc.edu/~grame/310/compare.htm>

[3] Anon, Higher Level Protocols used with IP Multicast [viitattu 22.11.1998] <http://www.ipmulticast.com/community/whitepapers/highprot.html>

[4] Anon, Real Time Protocol (RTP), 25.2.1997 [Viitattu 22.11.1998]
<http://www.rad.com/networks/1996/iphone/rtp.htm>

[5] Anon, Video Streaming Technologies, 6.11.1996 [Viitattu 22.11.1998]
<http://www.raley.com/jumpcut/stream.htm>

[6] Hunter, Jane & Witana, Varuni & Antoniades, Mark, A Review of Video Streaming Over the Internet, 14.1.1998 [Viitattu 22.11.1998]
<http://www.dstc.edu.au/RDU/staff/jane-hunter/video-streaming.html>

[7] Radosevich, Lynda & Fitzloff, Emily, Damming the stream, 2.3.1998 [Viitattu 22.11.1998] <http://www.idg.net/idg_frames/english/content.cgi?vc=docid_9-57283.html>

Lisätietoja

A Real Time Video-on-Demand System on World Wide Web and ATM Networks
Tutkimus Video-on-Demand -systeemin suunnittelusta ja toteutuksesta.
Advanced Streaming Format - About ASF
Advanced Streaming Format - uusi tiedostomuoto multimedialle verkossa.
Distributed Multimedia Architechtures - State-of-the-Art Report
Katsaus tämän hetken multimediateknologiaan verkossa.
Internet Broadcasting Explodes
Artikkeli lähetystoiminnan tulevaisuudesta Internetissä.
Internet Telephone
Tietoa Internet-puheluista ja äänen siirrosta verkossa.
MBONE (Multicast Backbone)
Artikkeli MBONE-yhdistymästä ja multicastingista yleensä.
Multimedia Glossary
Hyvin monen multimediaan liittyvän termin selitys.
Multimedia on the Internet
Perustietoa multimediasta Internetissä.
The A, B, C's of Developing Online Instructional Multimedia
Tietoa interaktiivisuudesta verkkodokumenteissa ja multimedian käytöstä opetustarkoituksessa.
Transferring real-time video on the Internet
Melko seikkaperäinen essee videon siirrosta Internetissä.
Video Alternatives
Vaihtoehtoja videolle suunniteltaessa multimediaa opetustarkoitukseen.