Luentomoniste versio 0.4. Petri Vuorimaa 2007

Samankaltaiset tiedostot
Luentomoniste versio 0.2. Petri Vuorimaa 2006

!?)&/&8-"1)#)7#-2-> ! 2-77""8"'+'0%/+-1#""8"'+'0%2/&-1#""8"'+'0%#)&##-8- !?)&/&8-"1)#)17+'%#-7&> ! 1$4##;*""##4($0%7&8+**)70%2-*8+*)0%#&"'+'%1$4##$6$

Luentomoniste versio 0.1. Petri Vuorimaa 2006

Johdanto (luennon sisältö)

T Multimediatekniikka

Johdanto. Mitä on multimedia Multimediajärjestelmät Palvelun laatu Synkronointi / orkestrointi Standardit Sovellukset Konvergenssi Arvoketju

Mitä on multimedia? Johdanto. Vuorovaikutus. Monta mediaa. Hypermedia. Aika

Multicast. Johdanto Ryhmien hallinta Reititys Reaaliaikaiset siirto- ja hallintaprotokollat Resurssien varaus Sessioiden hallinta

Videoneuvottelu. Johdanto. Järjestelmät. Telepresensce. Laitteisto. Ryhmäneuvottelut

Mediakonvergenssi. Multimediajärjestelmät. Päätelaitteet. Palvelujen jakelu. Päätelaitteet. Multimediatietokoneet

Multimediajärjestelmät

Multimediajärjestelmät. Johdanto Päätelaitteet Verkkoteknologiat Palvelut Yhteenveto

Multimediajärjestelmät

Johdanto. Multicast. Unicast. Broadcast. Protokollat. Multicast

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Multicast. Johdanto Ryhmien hallinta Reititys Reaaliaikaiset siirto- ja hallintaprotokollat Resurssien varaus Sessioiden hallinta MBone

Multimediatietokoneet Video ja grafiikka, audio sekä tietoverkot CD & DVD USB & FireWire Prosessorit

Multimediajärjestelmät. Mediakonvergenssi. Palvelujen jakelu. Päätelaitteet. Multimediatietokoneet. Päätelaitteet

Multicast. Johdanto Ryhmien hallinta Reititys Reaaliaikaiset siirto- ja hallintaprotokollat Resurssien varaus Sessioiden hallinta

Ohjelmistoarkkitehtuuri. Verkotettu multimedia. Multimedian vaikutukset. Mediavirtojen puskurointi. Ohjelmointi. Selain-ohjelmistoarkkitehtuuri

S Teletekniikan perusteet

Mitä on multimedia? Multimedia. Jatkuva-aikainen media. Yleisimmät mediatyypit. Jatkuvan median käsittelyvaiheet. Interaktiivuus

Johdanto. Videoneuvottelu. Järjestelmät. Laitteisto. Monipisteneuvottelut. Ryhmäneuvottelut

Multimedia. Mitä on multimedia? Mediatyypit. Siirtoformaatit. Teksti Grafiikka Audio Kuva Video

Tietoverkot ja QoS. QoS QoS-toteutukset Integrated Services Differentiated Services

Tietoverkot ja QoS. Quality of Service (QoS) QoS-toteutukset. Laatuparametrit. Jonotus. Reitittimen toiminta

Videoneuvottelu. Johdanto Standardit Tuotteet Internet-puhelut CTI (Computer Telephony Integration) Petri Vuorimaa 1

Tietoverkot ja QoS. QoS ATM QoS-toteutukset Integrated Services Differentiated Services. Petri Vuorimaa 1

Tällä kerralla esitellään. Uutuudet. Reaaliaikainen tiedonsiirto. Äänen ja videon siirto. Session Initiation Protocol (SIP) IP-puhelin

Multimedia. Petri Vuorimaa

IPTV:n asettamat vaatimukset verkolle ja palvelun toteutus. Lauri Suleva TI07 Opinnäytetyö 2011

Teknisiä käsitteitä, lyhenteitä ja määritelmiä

Johdanto. Agenda. Tuotantoprosessi. Historiallinen kehitys. Konsepti. Tuotantoprosessin vaiheet

Access-verkot. Johdanto. Kaapelitelevisio. Arkkitehtuuri. Kodin kaapelimodeemi-liityntä. Hybridiverkko

Multimedia. Mitä on multimedia? Mediatyypit. Siirtoformaatit. + Teksti + Grafiikka + Audio + Kuva + Video. Petri Vuorimaa 1

Digitaalinen Televisio

Tietokone. Tietokone ja ylläpito. Tietokone. Tietokone. Tietokone. Tietokone

Multimedia. Mitä on multimedia? Mediatyypit. Teksti Grafiikka Audio Kuva Video

Uutuudet. Tosiaikapalvelut Liikkuvuus. Sanna Liimatainen T Tietokoneverkot

Ohjelmistoarkkitehtuuri. Verkotettu multimedia. Mediavirtojen puskurointi. Multimedian vaikutukset. Selain-ohjelmistoarkkitehtuuri.

Tekijä / Aihe 1

Mul$media. Jyry Suvilehto Alkuperäiset kalvot Petri Vuorimaa

Kuvan pakkaus JPEG (Joint Photographic Experts Group)

Diplomityöseminaari

Digitaalinen audio & video, osa I. Johdanto. Digitaalisen audion sovellusalueet. Johdanto. Taajuusalue. Psykoakustiikka. Johdanto Digitaalinen audio

Multimediatietokoneet. Oheislaitteet. Matkapuhelimet. Sulautetut laitteet. Multimedia PC (MPC) Nykyiset laitteet

AKKREDITOITU TESTAUSLABORATORIO ACCREDITED TESTING LABORATORY WE CERTIFICATION OY OPERATOR LABORATORY

Web-palveluiden toteutus älykortille

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?

Kaikki analogiset järjestelmät digitaalisiksi ja verkkokäyttöisiksi - jo tänään Kustannustekkuutta ja joustavuutta työskentelyyn

Johdanto. Access-verkot. Kaapelitelevisio. Arkkitehtuuri. Hybridiverkko. Kodin kaapelimodeemi-liityntä

Digitaalinen audio & video I

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen

7. Palvelun laatu (QoS) Internetissä

7. Palvelun laatu (QoS) Internetissä

Ohjelmistoradio. Mikä se on:

Digitaalisen TV-verkon liikennepalvelujen kokeilut

Digitaalinen media. Petri Vuorimaa

Omat Lähdöt ohjelmointirajapinta: Versio 1.01

Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services

AV-muotojen migraatiotyöpaja - ääni. KDK-pitkäaikaissäilytys seminaari / Juha Lehtonen

TURVAVÄYLÄSEMINAARI. Erilaiset kenttäväylät ja niiden kehitys Jukka Hiltunen


S Tietoliikennetekniikan perusteet. Pakettikytkentäiset verkot. Helsinki University of Technology Networking Laboratory

S Tietoliikennetekniikan perusteet. Piirikytkentäinen evoluutio. Annukka Kiiski

1 YLEISKUVAUS Laajakaistaliittymä Palvelun rajoitukset PALVELUKOMPONENTIT Päätelaite Nopeus...

Access-verkot. Johdanto Kaapelitelevisio Digitaaliset tilaajalinjat UMTS Digitaalinen televisio Yhteenveto. Petri Vuorimaa 1

Multimediatietokoneet. Oheislaitteet. Nykyiset laitteet. Sulautetut laitteet. Video ja grafiikka. Multimedia PC (MPC)

Oheislaitteet. Multimediatietokoneet Video ja grafiikka Audio Puhelin, Videoneuvottelu, Tietoverkot CD & DVD USB & FireWire Prosessorit

OSI malli. S Tietoliikenneverkot S Luento 2: L1, L2 ja L3 toiminteet

IP-verkkojen luotettavuus huoltovarmuuden näkökulmasta. IPLU-II-projektin päätösseminaari Kari Wirman

HSMT J2EE & EJB & SOAP &...

Access-verkot. Johdanto Kaapelitelevisio Digitaaliset tilaajalinjat UMTS Digitaalinen televisio Yhteenveto

Tietokoneen muisti nyt ja tulevaisuudessa. Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu

Kuva maailmasta Pakettiverkot (Luento 1)

Laitteessa tulee olla ohjelmisto tai uudempi, tarvittaessa päivitä laite

Quality of Service (QoS) Tietoverkot ja QoS ATM. Laatuparametrit. Tiedonsiirron vaatimukset määritellään QoSparametrien

Mikä on internet, miten se toimii? Mauri Heinonen

Aalto-yliopiston sähkötekniikan korkeakoulu Korvaavuusluettelo

Johdanto tieto- viestintäteknologian käyttöön: Äänitystekniikka. Vfo135 ja Vfp124 Martti Vainio

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat

Tulevaisuuden Internet. Sasu Tarkoma

SISÄLMYSLUETTELO QUO VADIS?... 9

TURVALLISEN TEKNIIKAN SEMINAARI Laitteiden etähallinta tietoverkkojen välityksellä Jani Järvinen, tuotepäällikkö

DVB- ja internet-palvelut saman vastaanottimen kautta

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245

Pertti Pennanen OSI 1 (4) EDUPOLI ICTPro

Dahua NVR4104/4108-P-4KS2

Langattoman kotiverkon mahdollisuudet

Palomuurit. Palomuuri. Teoriaa. Pakettitason palomuuri. Sovellustason palomuuri

HOJ J2EE & EJB & SOAP &...

Miska Sulander Jyväskylän yliopisto Atk keskus FUNET yhdistyksen vuosikokous

Vuorekseen liittyvä tutkimusja kehitysprojekti. Langaton Vuores. Kotikatupalvelin

Tietoverkot ja QoS. QoS ATM QoS-toteutukset Integrated Services Differentiated Services. Petri Vuorimaa 1

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Digitaalinen audio & video, osa I

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro

Quality of Service (QoS) Tietoverkot ja QoS ATM. Laatuparametrit. Tiedonsiirron vaatimukset määritellään QoSparametrien

Transkriptio:

Multimediatekniikka Luentomoniste versio 0.4 Petri Vuorimaa 2007

Esipuhe Olen luennoinnut Teknillisen korkeakoulun T-111.2350 Multimediatekniikka -kurssia vuodesta 1998 lähtien. Aikaisemmin kurssista on käytetty myös koodeja T-111.350 ja Tik-111.350. Vuosien varrella kurssin sisältö on hieman muuttunut ja kurssikirja on vaihtunut useaan otteeseen. Tämän hetken luentomateriaali koostuu useasta eri lähteestä, joten valitettavasti aiheesta ei ole olemassa yhtä ainoaa koko kurssin kattavaa kirjaa. Tutkinnonuudistuksen yhteydessä multimediatekniikan kurssi sijoitettiin aikaisempaa varhaisempaan vaiheeseen opinnoissa ja se on pakollinen kaikille tietotekniikan opiskelijoille. Lisäksi kurssi kuuluu pakollisena tiettyihin muiden opinto-ohjelmien moduuleihin. Vuoden 2006 keväällä kävi ilmeiseksi, että kurssin opetusmateriaali vaatii kehittämistä. Aikaisempi vuosittainen kalvosarjan päivitys ei enää riittänyt. Sen sijaan päädyin kirjoittamaan olemassa olevan opetusmateriaalin pohjalta tämän luentomonisteen sekä päivittämään kalvosarjan. Luentomonisteen kieleksi valitsin tarkoituksella suomenkielen, koska uudessa tutkinto-ohjelmassa T-111.2350 Multimediatekniikka -kurssi on tarkoitettu pääasiassa kanditutkintoa suorittaville opiskelijoille. Kurssista on olemassa myös englanninkielinen kalvosarja, jota on tarkoitus ylläpitää mahdollisuuksien mukaan. Uusittu suomenkielinen kalvosarja on saataville kurssin www-sivuilta osoitteesta http://www.tml.tkk.fi/opinnot/t-111.2350/. Samasta osoitteesta löytyy myös tämän luentomonisteen viimeisin versio sekä tarkemmat ohjeet kurssin pakollisen harjoitustyön suorittamiseksi. Huom! Tämä on luentomonisteen versio 0.4. Luentomonistetta on täydennetty kevään 2007 aikana. Suurimmat lisäykset on tehty lukuihin 5. Digitaalinen kuva ja video sekä 9 Multicast. Materiaali on vielä keskeneräistä ja tekstissä on puutteita. Niinpä moniste ei kata vielä aivan kaikkia multimediatekniikan kurssilla käsiteltäviä asioista. Ole yrittänyt karsia tästä versiosta suurimpia kirjoitusvirheitä, mutta niitä on varmasti vielä runsaasti jäljellä. Toivon kuitenkin, että jo tästä versiosta olisi apua kevään 2007 T-111.2350 Multimediatekniikka -kurssin tenttiin osallistuville opiskelijoille. Espoossa, 30.4.2007 Petri Vuorimaa i

Sisällysluettelo Esipuhe...i Sisällysluettelo...iii Kuvaluettelo...ix Taulukkoluettelo...xiii Lyhenneluettelo...xv 1. Johdanto...1 1.1. Mitä on multimedia?...1 1.1.1. Määritelmä...1 1.1.2. Multimedian komponentit...1 Media...1 Vuorovaikutus...2 Aika...3 1.1.3. Hypermedia...3 1.2. Multimediajärjestelmät...3 1.2.1. Jatkuva-aikainen media...4 1.2.2. Tarvittavat teknologiat...5 1.2.3. Multimediajärjestelmien luokittelu...7 Informaatio-malli...7 Hajautettu-malli...8 Kommunikaatio-malli...9 Tietoverkko-malli...9 1.2.4. Palvelunlaatu...9 1.2.5. Synkronointi ja orkestronti...10 1.2.6. Standardointi...11 Internet Engineering Task Force (IETF)...14 International Standardization Organization (ISO)...14 International Telecommunication Union (ITU)...14 Open Mobile Alliance (OMA)...14 Third Generation Partnership Project (3GPP)...14 European Telecommunicatons Standards Institute (ETSI)...15 The Institute of Electrical and Electronics Engineers (IEEE)...15 Java Community Process (JCP)...15 World Wide Web Consortium (W3C)...15 Digital Video Broadcasting (DVB)...15 1.3. Multimedia hyödyntäminen...15 1.3.1. Verkotetun multimedian sovellusalueet...16 Etäopetus...16 Sähköinen kaupankäynti...16 Uutiset ja viihde...17 Paikkatietojärjestelmät...18 Terveydenhuolto...18 Viestintä...19 1.3.2. Digitaalisen median konvergenssi...19 1.3.3. Päätelaitteet...20 Multimedia PC...21 Digisovitin...21 3. sukupolven matkapuhelimet...22 iii

Vertailu...22 1.3.4. Arvoketju...23 2. Laitteisto...25 Yleiskäyttöiset tietokoneet...25 Sulautetut laitteet...26 2.1. Video ja grafiikka...29 2.2. Audio...29 2.3. Tietoliikkenne...29 2.4. Massamuistit...29 2.4.1. Muistikortit...29 Multimedia Card...29 Secure Digital...29 2.4.2. CD...29 2.4.3. DVD...30 DVD Formaatit...31 DVD:n salaus...31 Seuraavan sukupolven DVD...32 2.5. Sarjaväylät...33 2.5.1. USB...33 USB-laitteet...34 USB-väylän ominaisuudet...34 USB-väylän datatyypit...35 USB 2.0...35 Wireless USB...35 2.5.2. FireWire...35 Firewire-konfiguraatio...36 FireWire-kaapeli ja -liitin...36 FireWire-väylän etuja...37 FireWire-väylän ongelmia...37 2.6. Prosessorit...37 2.6.1. Kiihdyttimet...38 2.6.2. Erikoisprossorit...39 2.6.3. Yleisprosessorien laajennukset...40 2.6.4. Rinnakkaiset arkkitehtuurit...41 Superskalaarit prosessorit...41 Vektorilaskenta...42 SIMD...42 VLIW...43 TTA...43 3. Ohjelmistot...45 3.1. Ohjelmointi...46 3.1.1. Selain-ohjelmistoarkkitehtuuri...47 3.1.2. Hajautetut ohjelmistot...48 3.2. Ohjelmistoarkkitehtuurin toteutus...49 3.2.1. Palvelimet...50 3.2.2. Verkko...51 Palvelunlaatu...51 Suoratoisto...52 Ryhmälähetykset...53 3.2.3. Päätelaitteet...53 iv

3.3. Java...55 3.3.1. Java Media Framework...56 3.3.2. Mobile Information Device Profile (MIDP)...58 3.3.3. Multimedia Home Platform...59 3.4. XML...61 XML-prosesssointikielet...61 XML-esityskielet...62 XML-datan käsittely...63 XML-ohjelmistokomponentit...63 3.4.1. X-Smiles...64 3.5. Käyttöjärjestelmät...65 Symbian OS...66 Reaaliaikaiset käyttöjärjestelmät...66 Sulautettu Linux...67 4. Digitaalinen audio...69 4.1. Psykoakustiikka...70 4.1.1. Taajuusalue...71 4.1.2. Dynaaminen alue...71 4.1.3. Taajuusominaisuudet...72 4.1.4. Ajan vaikutus...74 4.1.5. Maskaus...74 4.1.6. Vaihe...75 4.1.7. Suuntakuulo...75 4.2. Digitaaliset audioformaatit ja äänen pakkaus...76 4.2.1. Koodaus aikaulottuvuudessa...76 4.2.2. Kuuloaistiin perustuva koodaus...79 4.2.3. Parametrinen koodaus...80 4.3. Monipiste-standardit...81 5. Digitaalinen kuva ja video...83 5.1. Diskreetti kosinimuunnos...83 5.2. JPEG...85 5.2.1. Arkkitehtuurit...86 5.2.2. Tehokkuus...88 5.2.3. JPEG2000...88 5.3. Videosignaalit...88 Resoluutio...89 Kuvataajuus...89 Kamerasensorit...90 5.3.1. Värioppi...90 Väritelevio...90 Komposiittisignaali...91 NTSC...92 PAL ja SECAM...92 5.4. Liikkeenennustus...92 5.5. Videon pakkausstandardit...94 5.5.1. H.261...94 CIF-formaatti...95 Koodausalgoritmi...95 5.5.2. MPEG-1...95 Kuvasekvenssi...96 v

Bittivirran syntaksi...97 Tehokkuus...97 5.5.3. MPEG-2...97 5.5.4. MPEG-4...97 5.5.5. MPEG-7...98 5.5.6. MPEG-21...99 6. Siirtoformaatit...101 6.1. Siirtoformaatin rakenne...101 Aika...101 Paikka...102 Rakenne...102 Vuorovaikutus...102 6.2. Sovellusalueet...103 6.3. Käyttötarkoitukset...103 6.4. Vaatimukset...104 6.5. Raitamalli...105 6.6. Oliomalli...106 6.7. Reaaliaikainen tiedonsiirto...107 6.7.1. Menetelmät...108 6.8. Erilaiset siirtoformaatit...109 6.8.1. QuickTime...109 6.8.2. MHEG...111 Ominaisuudet...111 MHEG-luokkahierarkia...111 MHEG:n käyttö...112 6.8.3. HTML...113 Tyylisivut...114 ECMAScript...114 DOM-rajapinta...114 SMIL...115 HTML-työkalut...115 6.8.4. XML...115 XML-työkalut...116 6.8.5. Macromedia...116 Shockwave...116 Flash...117 6.8.6. Vertailu...117 7. Sisällöntuotanto...119 7.1. Tuotantoprosessi...119 7.1.1. Konsepti...119 7.1.2. Projektisuunnitelma...120 7.1.3. Käsikirjoitus...121 7.1.4. Käyttöliittymät...122 7.1.5. Prototyypit...122 7.1.6. Toteutus...123 7.1.7. Testaus...123 8. QoS...125 Laatuparametrit...125 8.1. Jonotus...126 8.1.1. FIFO...127 vi

8.1.2. Prioriteetit...128 8.1.3. Palveluluokat...129 8.1.4. Painotettu reilu jonotus...129 8.2. Liikenteen muokkaus...130 8.2.1. Vuotava ämpäri...130 8.2.2. Kolikkoämpäri...131 8.2.3. RED...132 8.3. Palvelunlaatuarkkitehtuurit...133 8.3.1. Integroidut palvelut...133 Palvelunlaatuvaatimukset...134 Hallittu kuormitus...134 Taattu laatu...134 Referenssitoteutus...134 Resurssienjako...135 Pakettien tiputtaminen...135 Käyttäjäpalaute...135 RSVP-protokolla...135 Yhteenveto...137 8.3.2. Eriytetyt palvelut...137 Palveluluokat...138 Komponentit...138 Avoimia kysymyksiä...139 9. Multicast...141 Unicast...141 Broadcast...142 Multicast...143 9.1. Multicast-protokollat...144 9.2. Multicast-osoitteet...145 9.3. Ryhmiin liittyminen...146 9.4. Reititys...147 9.4.1. Unicast-reititys...147 Etäisyysvektori...148 Yhteyden tila...149 9.4.2. Multicast-reititys...149 Harvennus...150 Tulvinta...151 9.4.3. Multicast-reititysprotokollat...152 Distance-Vector Multicast Routing Protocol (DVMRP)...152 Multicast Extension to Open Shortest Path First (MOSPF)...152 Protocol Independent Multicast (PIM)...152 9.5. Reaaliaikaiset siirtoprotokollat...153 9.5.1. RTP...154 9.5.2. RTCP...156 9.5.3. RTSP...156 9.6. Sessioiden hallinta...157 9.6.1. Session Description Protocol (SDP)...158 9.6.2. Session Announcement Protocol (SAP)...159 9.6.3. Session Initation Protocol (SIP)...159 Yhteyden luominen...159 Kohtaaminen...161 vii

Haarautuminen...161 SIP-osoitteet...162 Soitonsiirto...163 10. Videoneuvottelu...165 10.1. Standardiperheet...165 10.1.1. H.320...166 Video...167 Audio...167 Luokat...168 10.1.2. H.324...168 10.1.3. H.323...169 Portti...170 Portinvartija...170 Monipistepalvelin...171 Protokollapino...172 10.1.4. T.120...172 11. Access-verkot...175 11.1. Kaapelitelevisio...175 11.1.1. Arkkitehtuuri...175 11.1.2. Hybridiverkot...176 11.1.3. Datapalvelut...177 11.1.4. Kaapelimodeemit...177 11.2. Digitaaliset tilaajalinjat...178 11.2.1. Eri tekniikat...180 11.2.2. Modulaatiotekniikat...181 Lähdeluettelo...183 Hakemisto...185 Liite A. Lyhyt Englanti Suomi -sanasto...191 Liite B. Lyhyt Suomi Englanti -sanasto...197 viii

Kuvaluettelo Kuva 1. Multimediajärjestelmät voidaan jakaa informaatio- ja kommunikaatiojärjestelmiin...7 Kuva 2. Perinteisesti tietokoneet, tietoliikenne, ja viihde-elektroniikka ovat olleet täysin toisistaan erillään olevia saarekkeita, joista jokaisella on omat päätelaitteensa ja tietoliikenneratkaisunsa...19 Kuva 3. Digitaalisen median konvergenssi mahdollistaa samojen sisältöjen, päätelaitteiden ja verkkoteknologioiden käytön sekä tietokoneissa, tietoliikenteessä että viihde-elektroniikassa...20 Kuva 4. Digitaalisen median arvoketju...23 Kuva 5. Yleiskäyttöiset multimediatietokoneet pohjautuvat yleensä rinnakkaiseen väylään [WU98]...26 Kuva 6. Digisovittimissa audio ja video dekoodaus on yleensä toteutetttu laitteistolla...26 Kuva 7. Multimediamatkapuhelimet koostuvat yleensä kahdesta päälohkosta. Kuvan oikealla puoli vastaa perinteisen matkapuhelimen toiminnoista ja kuvan vasen puoli huolehtii multimediasta...28 Kuva 8. DVD-levyjen salausjärjestelmä...32 Kuva 9. USB-johtimen rakenne [WU98]...34 Kuva 10. Esimerkki FireWire-väylän konfiguraatiosta [WU98]...36 Kuva 11. FireWire-väylän a) johdin ja b) liitin [WU98]...36 Kuva 12. Texas Instrument DM310 -multimediaprosessorissa on samalla piirillä RISC-prosessori, DSP-prosessori, laskentakiihdyttimiä sekä oheislaitteiden ohjaimia...39 Kuva 13. Nvidia GeForce 6800 -grafiikkaprosessori sisältää useita rinnakkaisia yksiköitä grafiikaliukuhihan eri vaiheista [MON05]...40 Kuva 14. MMX-laajennuksen avulla kertolasku voidaan toteuttaa yhtä aikaa esim. neljälle 16 bitin data-alkiolle...41 Kuva 15. TTA-arkkitehtuurissa on dataa siirretään laskentayksiköstä toisee heti kun laskenta on ensimmäisessä yksikössä saatu valmiiksi. Varsinaisia käskyjä ei ole. [COR04]...43 Kuva 16. Verkotetun multimedian palvelu tai sovellus jakautuu yleensä käyttöliittymä-, väliohjelmisto- ja tietoliikennekerroksiin...45 Kuva 17. Selain-arkkitehtuuriin perustuva multimedajärjestelmä...47 Kuva 18. Helix DNA -arkkitehtuuri...48 Kuva 19. Corba-arkkitehtuuri tukee hajautettujen ohjelmistojen toteuttamista....49 Kuva 20. Apple Darwing Steaming Server -suoratoistopalvelin...51 Kuva 21. Mediavirran käsittely perinteisessä käyttöjärjestelmässä...54 Kuva 22. Multimediapäätelaitteiden Java-ympäristöt...56 Kuva 23. Java Media Framework (JMF) -tilakaavio...57 Kuva 24. Mobile Information Device Profile (MIDP) -käyttöliittymäkirjastot...59 Kuva 25. Sovellusohjain...60 Kuva 26. Digitaalisen television (a) ohjelmaopas ja (b) supertekstitelevisio...61 Kuva 27. X-Smiles -selaimen arkkitehtuuri koostuu neljästä kerroksesta...65 Kuva 28. Symbian OS -käyttöjärjestelmän arkkitehtuuri...66 Kuva 29. Ihmisen aistima äänenvoimakkuus riippuu äänen taajuudesta...72 Kuva 30. Klarinetin ääni koostuu perustaajuudesta eli sävelkorkeudesta ja sen ix

harmonisista monikerroista, jotka luovat äänen värin...73 Kuva 31. Klarinetin äänen spektristä erottuu selkeästi perustaajuus ja sen harmoniset monikerrat...74 Kuva 32. Maskausilmiössä voimas ääni nostaa kuulorajaa eli peittää alleen lähellä taajuus- ja aikaulottuvuudessa olevat äänet...75 Kuva 33. Laskostumisilmiön takia näytteenottotaajuuden pitää olla vähintään kaksinkertainen alkuperäisestä signaalista...77 Kuva 34. Pulssikoodimodulaatio...78 Kuva 35. Subband-koodaus...80 Kuva 36. a) DCT-muunnoksessa alkuperäiset pikselit korvaat eri taajuuksia vastaavilla kertoimilla. b) Kertoimet järjestetään zig-zag -järjestykseen, jossa matalat taajuudet tulevat ensin ja korkeat taajuudet ovat lopussa...83 Kuva 37. Diskreetin kosinimuunnoksen eri kertoimia vastaavat perusfunktiot....84 Kuva 38. Sekventiaalinen JPEG...86 Kuva 39. Progressiivinen JPEG...86 Kuva 40. Hierarkinen JPEG...87 Kuva 41. Hukkaamaton JPEG...87 Kuva 42. Videosignaali...88 Kuva 43. Summaava ja vähentävä värijärjestelmä...90 Kuva 44. Kolmen sensorin kamera...91 Kuva 45. Yhden sensorin kamera...91 Kuva 46. Liikkeenennustuksessa etsitään kuvasta liikkuvat kappaleet jakamalla kuva lohkoihin ja laskemalla peräkkäisten kuvien vastaavien lohkojen yksittäisten pikselien erostusten absoluuttisten arvojen summa...93 Kuva 47. MPEG-1 -kuvasekvenssi...96 Kuva 48. MPEG-4 pakkausmenetelmässä video- ja audiosignaalit voidaan jakaa eri osiin, josta jokainen pakataan erikseen kullekin tekijälle parhaiten sopivalla menetemällä...98 Kuva 49. MPEG-7 on metadata-standardi, joka on tarkoitettu sisällön hakuun ja suodatukseen...99 Kuva 50. Siirtoformaattien sovellusalueet...103 Kuva 51. Raitamalli...105 Kuva 52. Raitamallin toiminta pseudokoodilla esitettynä...106 Kuva 53. Oliomalli...106 Kuva 54. Oliomallin toiminta pseudokoodilla esitettynä...107 Kuva 55. QuickTime-siirtoformaatti muodostaa sipulimaisen rakenteen...110 Kuva 56. QuickTime-elokuva koostuu useammasta yhtäaikaisesta, peräkkäisestä ja päälekkäisestä raidasta...110 Kuva 57. MHEG-luokkahierarkia...112 Kuva 58. Multimedian tuotantoprojektit koostuvat yleensä kuvan esittämistä vaiheista...119 Kuva 59. Reitittimien ja kytkimien toiminta on hyvin samanlaista. Jokaista sisääntuloa kohden on sisääntuloprosessori ja sen puskurimuisti. Vastaavasti ulostuloportin yhteydessä on ulostuloprosessori ja puskurimuisti. Skedeluri siirtää pakettaja sisääntuloista ulostuloihin...126 Kuva 60. FIFO-jonotus on kaikkein yksinkertaisin ja samalla se on eniten käytössä. Sisääntulevat paketit siirretään skedulerille yhden yhteisen puskurimuistin kautta. Tämän takia paketit lähtetään ulospäin samassa järjestyksessä, missä ne ovat saapuneet...127 x

Kuva 61. Prioriteettijonotuksessa paketit jaetaan korkean ja matalan prioriteetin paketteihin. Korkean pioriteetin paketit käsitellään ennen matalan prioriteetin paketteja...128 Kuva 62. Palveluluokkiin perustuvassa jonotuksessa kutakin palveluokkaa varten on oma jononsa...129 Kuva 63. Painotetuissa reiluissa jonoissa liikenne jaetaan virtoihin. Vähiten liikennettä sisältävä virta saa aina parhaan kohtelun...130 Kuva 64. Vuotava ämpäri tasoittaa eri liikennevirtoja taisisiksi virroiksi...131 Kuva 65. Kolikkoämpärissä paketti tarvitsee kolikon, jotta se pääsisi eteenpäin. Lyhyet purskeet on sallittuja niin kauan kun kolikoita riittää...132 Kuva 66. RED-algoritmissa pakettien hukkaamisen todennäköisyys kasvaa jono pidetessä...133 Kuva 67. Integroitujen palveluiden referenssitoteutus...135 Kuva 68. RSVP-protokollassa lähettäjä muodostaa lähetyspolun "Path"-viestin avulla, mutta vastaanottoja tekee varsinaiset varaukset "Resv"-viestillä...136 Kuva 69. Eriytettyjen palveluiden referenssitoteutus...139 Kuva 70. Unicast-lähetyksissä sama etäluento joudutaan lähettämään useampana rinnakkaisena mediavirtana eri vastaanottajille [KOS98]...142 Kuva 71. Broadcast-lähetyksissä sama mediavirta voidaa välittää useammalle vastaanottajalle yhtä aikaa tietyn verkkosegmentin sisällä [KOS98]...143 Kuva 72. Multicast-lähetyksissä sama mediavirta voidaan lähettää yhtä aikaa useammalle myös eri verkkosegmenteissä oleville vastaanottajille [KOS98]....144 Kuva 73. a) IPv4-protokollassa Multicast-osoitteita varten on varattu 28 bittiä, mutta b) IPv6-protokollassa kokonaiset 112 bittiä [KOS98]...145 Kuva 74. IGMP-protokolla välittää tiedon uudesta Multicast-ryhmän jäsenestä eteenpäin Multicast-puussa...146 Kuva 75. Reititystaulu kertoo mille reitittimellä paketti seuraavaksi pitää lähettää, jotta se saadaan välitettyä oikeaan osoitteeseen...147 Kuva 76. Etäisyysvektori-protokollassa reititystaulua päivitetään toiselta reitittimeltä saatujen etäisyystietojen pohjalta...148 Kuva 77. Harvennuksella voidaan Multicast-puusta poistaa kuolleet oksat, joissa ei enää ole lehtiä (Multicast-ryhmän jäseniä)...150 Kuva 78. Tulvinnan seurauksena syntyneet turhat oksat voidaan myöhemmin poistaa harventamalla...151 Kuva 79. Reaali-aikainen siirtoprotokollaperhe [KOS98]...154 Kuva 80. RTP-protokollaan voidaan käyttää monen muun protokollan yhteydessä [KOS98]...155 Kuva 81. RTSP-protokollan käyttö [KOS98]...157 Kuva 82. Esimerkki SDP-kuvauksesta...159 Kuva 83. SIP-yhteyden luominen...160 Kuva 84. Kohtaaminen mahdollistaa yleisen SIP-osoitteen käytön...161 Kuva 85. Haarautuminen mahdollistaa useamman SIP-puhelimen yhtä aikaisen käytön...162 Kuva 86. SIP-viestien otsikot muistuvat sähköpostien otsikkokenttiä ja viestin varsinainen sisältö on SDP-formaatin mukainen...162 Kuva 87. SIP mahdollistaa myös soitonsiirron soittajalta toiselle...163 Kuva 88. SIP-proxy osaa siirtää puhelun oikeaan puhelimeen GRUU-osoitteen avulla...164 Kuva 89. Videoneuvottelun standardiperheet...166 xi

Kuva 90. H.320-standardiperheen tärkeimmät standardit...167 Kuva 91. H.323-standardiperhe...169 Kuva 92. Täydellinen H.323-järjestelmä...170 Kuva 93. Monipistepalvelimen eri toteutustavat...171 Kuva 94. H.323-standardipino...172 Kuva 95. T.120-siirtokerros...173 Kuva 96. Kaapelitelevisioverkko välittää televisiokanavia headend-asemalta kotitalouksille runkoverkon, jakeluverkon ja tiputuskaapelin kautta...175 Kuva 97. Kotitalouksissa televisio voidaan kytkeä kaapelitelevioverkoon digisovittimen ja tietokone kaapelimodeemin kautta...176 Kuva 98. Kodin ADSL-liittymä...179 Kuva 99. Pientoimiston ADSL-liittymä...179 Kuva 100. DMT-modulaatiotekniikassa taajuusalue jaetaan 4.3 khz taajuuskaistoihin...182 xii

Taulukkoluettelo Taulukko 1. Eri medioiden ominaisuudet...1 Taulukko 2. Hajautettu-malli voidaan jakaa eri kerroksiin...8 Taulukko 3. Multimedian keskeisimmät standardit...13 Taulukko 4. Multimediapäätelaitteiden vertailu...23 Taulukko 5. JPEG-pakkauksen tehokkuus...88 Taulukko 6. Yleisimpien siirtoformaattien vertailu...117 Taulukko 7. Yleisimmät videoneuvottelun standardit...166 Taulukko 8. H.320-standardiperheen mukaisesti videoneuvottelulaitteistot voidaan jakaa kolmeen eri luokkaan...168 Taulukko 9. Kaapelitelevisioverkossa välitettävien kanavien lukumäärä riippuu verkon koosta ja kaistanleveydestä...177 Taulukko 10. xdsl-yhteyksien nopeus riippuu modeemien välisestä etäisyydestä...181 xiii

Lyhenneluettelo AC Alternating Current. ADSL Asymmetric Digital Subscriber Line. AIDA Attention, Interest, Desire, and Action. API Application Programming Interface. APS Analog Protection Scheme. ASIC Application-Specific Integrated Circuit. AS Assured Forwarding. ATM Asynchronous Transfer Mode. BA Behaviour Aggregate. CAP Carrierless Amplitude Phase. CCD Charge-Coupled Device. CD Compact Disk. CD-DA Compact Disc Digital Audio. CD-I Compact Disk Interactive. CD-R Compact Disc Recordable. CD-RW Compact Disc ReWritable. CD-ROM Compact Disc Read-Only Memory. CD-XA Compact Disc Read Only Memory Extended Architecture. CDC Connected Device Configuration. CDLC Connected Device Limited Configuration. CMOS Complementary Metal Oxide Semiconductor. COPS Common Open Policy Server. DAVIC Digital Audio Video Council. DC Direct Current. DCT Discrete Cosine Transform. DMT Discrete MultiTone. DOCSIS Data Over Cable Service Interface Specification. DRAM Dynamic Random Access Memory. DVB Digital Video Broadcasting. DVD Digital Versatile Disc. DVD-levyt on tarkoitettu mm. elokuvien digitaaliseen jakeluun. DVD-levyistä on käytetty myös nimeä Digital Video Disc. DSP Digital Signal Processing. Digitaalinen signaalinkäsittely. EDGE Enhanced Data rates for GSM Evolution. xv

EF Expedited Forwarding. FFT Fast Fourier Transform. FIFO First In First Out. FM Frequency Modulation. GEM Globally Executable MHP. GPRS General Packet Radio System. GPS Global Positioning System. GSM Global System for Mobile Communications. HD High Definition. Lyhennettä käytetään yleisesti teräväpiirtotelevision tai seuraavan sukupolven teräväpiirto DVD -levyjen yhteydessä. HDSL High-Bit Rate Digital Subscriber Line. IDSL Tällä lyhenteellä viitataan ISDN-lyhenteeseen, jota voidaan pitää ensimmäisenä xdsl-teknologiana. IETF Internet Engineering Task Force. IGMP Internet Group Management Protocol. IP Internet Protocol. ITU International Telecommunication Union. ISO International Organization for Standardization. ISDN Integrated Services Digital Network. J2EE Java2 Platform, Enterprise Edition. J2ME Java2 Platform, Micro Edition. J2SE Java2 Platform, Standard Edition. JDK Java Development Kit. JMF Java Media Framework. JPEG Joint Picture Expert Group. JVM Java Virtual Machine. KVM K Virtual Machine. LDAP Light Directory Access Protocol. MHP Multimedia Home Platform. MIDI Musical Instrument Digital Interface. MIDP Mobile Information Device Profile. Mobiililaitteille tarkoitettu Java-ohjelmointikielen profiili. MMAPI Mobile Media Application Programming Interface. MMX Tämä lyhenne ei itse asiassa tarkoita mitään. Sen sijaan kyseessä on Intelin suojaama tuotemerkki. Lyhennettä on yritetty sovittaa mm. seuraaviin sanoihin MultiMedia, Multixvi

Media experience, Multiple Math tai Matrix Math extension. MP3 MPEG Audio Layer 3. MPEG Motion Picture Expert Group. OCAP OpenCable Application Platform. OSD On-Screen Display. PC Personal Computer. Henkilökohtaiseen käyttöön tarkoitettu tietokone, joka yleensä pohjautuu Intelin 80x86 tai vastaavaan mikroprosessoriin. PHB Per-Hop Behaviour. Photo CD Photo Compact Disk. POTS Plain Old Telephone System. QAM Quadrature Amplitude Modulation. QoS Quality of Service. Palvelunlaatu. R-ADSL Rate Adative Digital Subscriber Line. Kehittyneempi versio ADSL-teknologiasta. RAM Random Access Memory. RED Random Early Detection. RFID Radio Frequency Identification. RISC Reduced Instruction Set Computer. RSVP ReSource reservation Protocol. RTP Real-Time Transport Protocol. RTCP Real-Time Control Protocol. RTSP Real-Time Streaming Protocol. SDRAM Synchronous Dynamic Random Access Memory. SDSL Symmetric Digital Subscriber Line. SIMD Single Instruction Multiple Data. SMIL Synchronized Multimedia Integration Language. SNMP Simple Network Management Protocol. SNR Signal-to-Noise Ratio. Signaali-kohina-suhteesta käytetään myös lyhennettä S/N. TCP Transport Control Protocol. ToS Type of Service. TTA Transport Triggered Architecture. TV Television. UDP User Datagram Protocol. xvii

USB Universal Serial Bus. VDSL Very High Bit-Rate Digital Subscriber Line. VHDL VHSIC Hardware Description Language. VHSIC lyhenne puolestaan tulee sanoista Very-High-Speed Integrated Circuit. VHS Video Home System. Alunperin lyhenne tulee sanoista Vertical Helical Scan. Video CD Video Compact Disk. VLIW Very Large Instruction Word. Pitkän käskysanan prosessori. Yhdellä käskysanalla ohjataan useampaa laskentayksikköä. W3C World Wide Web Consortium. WML Wireless Markup Language. WWW World Wide Web. XAML extensible Application Markup Language. xdsl Digital Subscriber Line. xdsl-lyhenteellä tarkoitetaan kaikkia erilaisia digitaalisiin tilaajalinja-teknologioihin. Pieni xkirjain viittaa erilaisiin vaihtoehtoihin kuten: IDSL, ADSL, RADSL, HDSL, SDSL ja VDSL. XHTML extensible Hypertext Markup Language. XML extensible Markup Language. xviii

1. Johdanto 1.1. Mitä on multimedia? 1.1.1. Määritelmä Multimedialla ei valitettavasti ole yksikäsitteistä määritelmää. Itse asiassa kilpailevia määritelmiä on useita. Tannenbaum määrittelee multimedian seuraavasti [TAN98]: Vuorovaikutteinen tietokoneavusteinen esitys joka sisältää vähintää kaksi seuraavista mediaelementeistä: teksti, ääni, kuva, video ja animaatio. Multimediassa on siis useampi mediaelementtejä nimensä mukaisesti. Lisäksi siihen kuuluu olennaisena osana vuorovaikutus. Edellisestä määritelmästä puuttuu kuitenkin yksi olennainen elementti: aika. Multimedialla on yleensä jokin juoni, jonka mukaan esitys etenee. 1.1.2. Multimedian komponentit Multimedialla on siis kolme tyypillistä ominaisuutta: 1. Monta mediaa 2. Vuorovaikutus 3. Aika Media Eri mediatyyppejä voi luokitella usealla eri tavalla. Tyypillisesti medialla on jokin modaliteetti eli se liittyy johokin ihmisen aistiin. Esim. ääni liittyy kuuloaistiin. Näköaisti on kaikkein yleisin. Lisäksi media voi muuttua ajan mukana kuten ääni, video ja animaatio. Lopuksi media voi olla kaapattu luonnollisesta lähteestä tai se voi olla keinotekoinen. Media Modaliteetti Dynaamisuus Lähde Teksti Visuaalinen Kerta Keinotekoinen Kuva Visuaalinen Kerta Luonnollinen Grafiikka Visuaalinen Kerta Keinotekoinen Animaatio Visuaalinen Jatkuva Keinotekoinen Ääni Auraalinen Jatkuva Luonnollinen/ Keinotekoinen Video Visuaalinen Jatkuva Luonnollinen Taulukko 1. Eri medioiden ominaisuudet. Yleisimpien mediatyyppien ominaisuudet on kerrottu taulukossa 1. Taulukossa listattujen mediatyyppien lisäksi on muitakin kuten haju tai kosketus. 1

Vuorovaikutus Aleem [ALE98] jakaa vuorovaikutuksen multimediasovelluksissa neljään luokkaa: 1. Passiivinen 2. Reaktiivinen 3. Proaktiivinen 4. Tuottava Ensimmäisessä passiivisessa (engl. Passive) vaihtoehdossa käyttäjä ei varsinaisesti puutu esityksen etenemiseen millään tavalla. Hän esim. katselee kalvoesitystä, joka sisältää tekstiä ja kuvia. Reaktiivisessa (engl. Reactive) vaihtoehdossa käyttäjä jo vaikuttaa esityksen kulkuun, mutta hän ei varsinaisesti vaikuta sen sisältöön. Hän saataa esimerkisi vierittää näyttöä tai ohjata multimediaesityksen kulkua (play/pause/stop). Kolmannessa proaktiivisessa (engl. Proactive) vaihtoehdossa käyttäjä jo vaikuttaa katsottavaan sisältöön. Hän saattaa esimerkiksi liikkua dokumentista toiseen linkkien kautta. Varsinainen sisällön tuotanto kuuluu viimeiseen tuottavaan (engl. Productive) kategoriaan. Tässä vaihtoehdossa käyttäjä syöttää tietoa multimediajärjestelmään. Hän saattaa esim. valita päivämäärän valikosta tai kirjoittaa tekstikenttään. Vuorovaikutuksen tavan lisäksi myös vuorovaikutuksen taso voi vaihdella. Käyttäjän vuorovaikutuksen kohteena voi olla: 1. Käyttöliittymä 2. Sovellus 3. Palvelu 4. Toinen käyttäjä Ensimmäisessä vaihtoehdossa käyttäjä on vuorovaikutuksessa sovelluksen käyttöliittymän kanssa, mutta ei varsinaisesti muuta sovelluksen pysyvää tilaa. Toisessa vaihtoehdossa sovelluksen pysyvää tilaa muutetaan tallettamalla se esim. päätelaitteen muistiin. Kolmannessa vaihtoehdossa käyttäjä on vuorovaikutuksessa palvelun kanssa, joka sijaitsee tyypillisesti tietoverkon takana palvelimella. Viimeisessä vaihtoehdossa vuorovaikutus ulottuu toiseen käyttäjään asti. Tästä tyypillinen esimerkki on videoneuvottelu. Myös sovellusten vuorovaikutuksen määrä voi vaihdella. Esim. seuraavalla listalla vuorovaikutuksen määrä kasvaa siirryttäessä listalla alaspäin: 1. Tilausvideo 2. Sähköposti 3. Videoneuvottelu 4. Videopeli 5. Virtuaalitodellisuus 2

Aika Multimediasovelluksilla on yleensä ajallinen ulottuvuus. Esim. DVD-esityksellä tai tietokonepelillä on juoni. Yleensä juoni voi haarautua tietyissä pisteissä eli juoni on ei-lineaarinen. Perinteisissä medioissa kuten kirjassa ja elokuvassa juonihan on yleensä lineaarinen. Aikaulottuvuuden takia eri mediaelementit pitää tahdistaa eli synkronoida. Tästä käytetään nimitystä medioiden välinen synkronointi (engl. Intermedia Synchronization) Tyypillisen esimerkki tästä on ns. huulisynkronointi (engl. Lip Synchronization). Jos videokuva ja siihen liittyvä ääni eivät ole synkronoitu, puhe ei tule samaan tahtiin huulien liikkeen kanssa. Tämä on monta katsojaa ärsyttävä piirre eli ns. artifakti (engl. Artifact1). Edellä mainittua synkronointia kutsutaan mediaelementtien ulkoiseksi synkronoinniksi. Lisäksi pitää huolehtia mediaelementtien sisäisestä eli isokronisesta (engl. Isochronous) synkronoinnista. Esim. videokuva koostuu yksittäisistä kuvista (tyypillisesti 25 tai 30 kuvaa sekunnissa). Yksittäiset kuvat pitää toistaa säännöllisin väliajoin tai muuten videokuvan laatu heikkenee. 1.1.3. Hypermedia Hypermedia on lähellä multimediaa oleva termi, mutta onko hypermedia multimediaa? Seuraavat ominaisuudet ovat tyypillisiä hypermedialle: 1. Eri medioita 2. Rajallisesti vuorovaikutusta 3. Hyperlinkit 4. Ei ajallista ulottuvuutta 5. Ei synkronointia Hypermediassa hyödynnetään erityisesti tekstiä, grafiikka ja kuvia. Usein käytössä on myös animaatiota. Ääni ja video ovat harvinaisempia. Myös vuorovaikutus on hypermediassa rajatumpaa. Tyypillisesti käyttäjä etenee sivulta toiselle hyperlinkkien kautta. Lisäksi hän saattaa syöttää tietoa painonappien, valintalistojen ja tekstikenttien kautta. Tyypillisesti hypermedialla ei ole ajallista ulottuvuutta. Esitys ei etene itsenäisesti juonen mukaisesti. Sivuilla saattaa kyllä olla audiota ja videota, mutta niitä ei ole tahdistettu muiden mediaelementtien kanssa. Hypermedia ei siis ole multimediaa. Tosin tämä tilanne saattaa muuttua tulevaisuudessa. Tähän palataan myöhemmin tässä luentomonisteessa. 1.2. Multimediajärjestelmät Multimediajärjestelmällä tarkoitetaan tieto- ja/tai tietoliikennetekniikan järjestelmää, jossa hyödynnetään multimediatekniikkaa. Uudet multimedian datatyypit sovivat valitettavasti huonosti yhteen nykyisten tieto ja tietoliikenne1. Sanan kirjoitusmuoto on amerikanenglanniksi Artifact, mutta britannianenglanniksi Artefact. Tämän takia joskus näkee myös suomeksi kirjoitusmuotoa artefakti. 3

järjestelmien kanssa. Multimedia vaatii yleensä enemmän tehokkuutta. Toisaalta tarvitaan parempaa laatua. Koska multimediajärjestelmät ovat tyypillisesti monimutkaisia ja niissä yhdistyy useita erilaisia teknologioita, multimediajärjestelmiä täytyy pystyä suunnittelemaan mahdollisimman korkealla abstraktiotasolla. Lisäksi globaalit heterogeeniset tietoverkot vaativat tehokkaita toteutusteknologioita, koska multimediajärjestelmien on kyettävä toimimaan hyvin erilaisissa tietoverkkoympäristöissä. 1.2.1. Jatkuva-aikainen media Eniten ongelmia multimediajärjestelmissä tuottaa nimenomaan jatkuva-aikainen media (engl. Continuous Media). Tyypillisiä esimerkkejä ovat audio ja video. Molemmissa data koostuu peräkkäisistä näytteistä (audionäytteet ja yksittäiset videokuvat). Ongelmia aiheuttaa erityisesti se, että näytteet on toistettava tiukkojen aikarajojen sisällä. Lisäksi yksittäisiä näytteitä on paljon, joten tietomäärät ovat suuria. Kuten edellä mainittiin nykyisiä tietojärjestelmiä ja tietoverkkoja ei ole suunniteltu tukemaan multimediaa ja erityisesti jatkuva-aikaista mediaa. Esim. prosessoreilta vaaditaan paljon laskentatehoa, minkä takia prosessorien kellotaajuudet ovat kasvaneet huimasti. Edelleen laskentatehoa tarvittaisiin kuitenkin lisää. Toisaalta tehonkulutus pitäisi saada pienemmäksi erityisesti mobiililaitteissa. Nykyiset tiedostojärjestelmät eivät myöskään sovi kovin hyvin jatkuva-aikaisen median käyttöön. Syynä tähän on se, että tiedostojärjestelmät on perinteisesti optimoitu tilan suhteen. Multimedian kannalta on kuitenkin tärkeämpää, että yksittäiset jatkuva-aikaisen median näytteet saadaan siirrettyä tietodostojärjestelmästä mahdollisimman tasaiseen tahtiin. Ongelmia aiheuttaa myös käyttöjärjestelmät. Nykyiset käyttöjärjestelmät on suunniteltu suorittamaan eri ohjelmien prosesseja mahdollisimman reilusti. Toisin sanoen kaikkia prosesseja suoritetaan prioriteettijärjestyksessä niin että kaikki prosessit saavat suoritusaikaa ja eri prosessien vasteajat pysyvät kohtuullisina. Jatkuva-aikaisen median kannalta olisi kuitenkin tärkeää, että säännöllisin väliajoin saapuvia näytteitä käsitteleviä prosesseja suoritettaisiin mahdollisimman tasaiseen tahtiin. Lopuksi ongelmia tuottavat myös tietoverkot. Nykyiset tietoverkot kun on optimoitu lähinnä suurten tiedostojen siirtoon. Tämä johtuu siitä, että suuret tiedostot aiheuttavat datapurskeita tietoverkkoon. Perinteisesti nämä datapurskeet ovat kuorimittaneet verkkoa eniten ja sen takia useat tietoverkot ja erityisesti Internet on optimoitu suoriutumaan mahdollisiman hyvin purskemaisesta dataliikenteestä. Jatkuva-aikaisessa mediassa on myös paljon dataa kuten edellä mainittiin, mutta yksittäiset näytteet eivät saavu purskeissa vaan tasaista tahtia. Nämä mediavirrat hukkuvat helposti purskemaisen liikenteen alle, mikä aiheuttaa jatkuva-aikaisen median pakettien siirtoviiveiden vaihtelua ja jopa yksittäisten pakettien katoamista. 4

1.2.2. Tarvittavat teknologiat Multimediajärjestelmien toteuttamisessa hyödynnetään tyypillisesti seuraavia teknologiota: Hajautettu olio-ohjelmointi Rakenteiset dokumentit Multimedian pakkausstandardit Skriptauskielet Siirtoformaatit Ohjelmointirajapinnat Käyttöjärjestelmät Verkkoprotokollat ja -arkkitehtuurit Laitteistoratkaisut Multimediajärjestelmät ovat usein ainakin osittain ohjelmistojärjestelmiä. Olio-ohjelmointi sopii hyvin multimediajärjestelmien toteuttamiseen, koska eri mediaelementit ja niitä käsittelevät komponentit voidaan esittää olioina. Lisäksi multimediajärjestelmät ovat usein hajautettuja useammalle päätelaitteelle ja palvelimelle. Hajautettua olio-ohjelmointia käsitellään enemmän luvussa 3. Ohjelmointikielten lisäksi käytetään usein myös rakenteisia dokumentteja eli hyödynnetään hypermediaa. Rakenteisista dokumenteista hyödynnetään erityisesti erilaisia merkintäkieliä (engl. Markup Language). Viime aikoina on yleistynyt erityisesti extensible Markup Language (XML) -merkintäkielen käyttö. XML-kieli on ns. metakieli eli sen avulla voidaan määritellä erilaisia merkintäkieliä. Kuka tahansa voi suunnitella oman merkintäkielensä. Sen lisäksi World Wide Web Consortium (W3C) on määritellyt useita XML-pohjaisia kieliä. Multimediajärjestelmien kannalta näistä tärkeimpiä ovat extensible HyperText Markup Language (XHTML) ja Synchronized Multimedia Integration Language (SMIL). Eri merkintäkieliä ja niiden käyttöä multimediajärjestelmissä käsitellään tarkemmin mm. luvussa 6. Koska jatkuva-aikainen media luo paljon käsiteltävää dataa, on se yleensä pakattava ennekuin sitä voidaan tallettaa tiedostojärjestelmään tai siirtää tietoverkon yli. Erilaiset pakkausstandardit kuuluvatkin keskeisenä osana multimediajärjestelmiin. Tunneitumpia pakkausstandardeja ovat International Standardization Organisation (ISO) -järjestön Joint Photograph Expert Group (JPEG) ja Motion Picture Expert Group (MPEG) -standardit. Näiden lisäksi myös International Telecommunication Union (ITU) on määritellyt audion ja videon pakkausstandardeja. Eri pakkaustandardeja käsitellään tarkemmin luvuissa 4 ja 5. Perinteisten ohjelmointikielien lisäksi multimediajärjestelmissä käytetään myös ns. skriptauskieliä (engl. Scripting Language). Skriptauskielet ovat yksinkertaisia tulkattavia kieliä, joita käytetään varsin vuorovaikutteisuuden totetuttamiseen. Tunnetuin skriptauskieli on WWW-sivuilla käytettävä ECMASc5

ript-kieli, mutta multimediassa on käytössä myös muita valmistajakohtaisia skriptauskieliä. Multimediaa voidaan hyödyntää hyvin erilaisilla laite- ja ohjelmistoalustoilla. Usein multimediajärjestelmän toteuttaja haluaisi, että järjestelmää voisi käyttää mahdollisimman monella laite- ja ohjelmistoalustalla. Käytännössä ei ole kuitenkaan mahdollista toteuttaa järjestelmästä erillistä versiota kutakin eri laite- ja ohjelmistoalustaa varten. Mikä neuvoksi? Kätevin vaihtoehto on hyödyntää ns. siirtoformaatteja. Ideana on määrittää multimediasisältö ja sen toiminta yleisen siirtoformaatin mukaisesti. Siirtoformaatin suorittamiseksi tarvitaan ajoaikainen ympäristö, joka portataan eri laite- ja ohjelmistoalustoille. Tämän jälkeen multimediajärjestelmää voi käyttää kaikilla kyseistä siirtoformaattia tukevilla laite- ja ohjelmistoalustoilla. Eri laiteisto- ja ohjemistoalustojen ominaisuudet voidaan myös piilottaa yhtenäisten ohjelmointirajapintojen (engl. Application Programmin Interface (API)) alle. Tällöin API muodostaa abstraktion alla olevasta ohjelmistosta ja laitteistosta. Käyttöjärjestelmillä on myös merkittävä rooli multimediajärjestelmissä. Periteiset PC-tietokoneiden käyttöjärjestelmät sopiva joko huonosti (esim. Linux) tai erittäin huonosti (esim. Windows) multimedian päätelaitteisiin. Perinteiset käyttöjärjestelmät eivät tue riittävästi jatkuva-aikaista mediaa. Lisäksi ne ovat laajoja monoliittisiä (engl. Monolithic) kokonaisuuksia. Tämä tarkoittaa sitä, että käyttöjärjestelmän ydintä on hankala räätälöidä multimedian päätelaitteen vaatimusten mukaiseksi. Monissa multimedian päätelaittessa käytetäänkin erityisesti multimediaa varten suunniteltuja käyttöjärjestelmiä tai ns. reaaliaikaisia käyttöjärjestelmiä, jotka ovat pienempikokoisia ja joita on helpompi räätälöidä. Multimediajärjestelmät ovat yleensä hajautettuja ja ne hyödyntävät erilaisia tietoverkkoja eri komponenttien väliseen kommunikointiin. Tyypillisesti tietoverkkojen palveluita käytetään erilaisten verkkoprotokollien avulla. Viime aikoina on yleistynyt erityisesti Internet-protokollien käyttö myös muissa tietoliikennearkkitehtuureissa. Multimedian kannalta tärkeimmät protokollat liittyvät palvelunlaatuun, Multicast eli ryhmälähetyksiin ja videoneuvotteluun. Näitä käsitellään tarkemmin luvuissa 8, 9 ja 10. Erilaisia tietoliikenne-arkkitehtuureja ja erityisesti liitymäverkkoja käsitellään luvussa 11. Multimedian tallennus, esittäminen ja käsittely vaatii usein erityisiä laitteistoratkaisuja. Tallennukseen käytetään esim. CD ja DVD-levyjä. Multimedian esittämiseen tarvitaan yleensä hyvälaatuisia näyttöjä ja audiojärjestelmiä. Lisäksi erilaisten pakkaustandardien purkamiseen tarvitaan runsaasti laskentatehoa, minkä takia käytetään joko rinnakkaisia prosessoreita tai erillisiä kiihdyttimiä. Toisaalta multimedian päätelaiteet ovat usein kulustuselektroniikkaa, jossa pyritään mahdollisimman halpaan hintaa. Monesti suurissa tuotantoerissä saavutetaan halvempi hinta, kun osa järjestelmä toteutetaan laitteistolla ohjemiston sijasta. Multimedian laitteistoratkaisuja käsitellään luvussa 2. 6

1.2.3. Multimediajärjestelmien luokittelu Multimediajärjestelmät voidaan kuvan 1 mukaisesti jakaa karkeasti kahteen ryhmään: informaatio- ja kommunikaatiojärjestelmät. Informaatiojärjestelmät on tarkoitettu lähinnä multimediaesitysten katsomiseen tai tuottamiseen. Tyypillinen esimerkki on multimediaa sisältävä CD-levy. Kommunikaatio-järjestelmät ovat puolestaan pääsääntöisesti tarkoitettu käyttäjien väliseen kommunikaatioon. Tyypillinen esimerkki on videoneuvottelu. Joskus näiden kahden tyypin erottaminen on vaikeaa. Esim. Videoneuvottelun taustamateriaalina voidaan käyttää multimediadokumentteja. Informaatiomalli Kommunikaatiomalli Informaatiojärjestelmät Kommunikaatiojärjestelmät Hajautettumalli Verkkomalli Kuva 1. Multimediajärjestelmät voidaan jakaa informaatioja kommunikaatiojärjestelmiin. Molemmissa tapauksissa multimediajärjestelmiä voidaan tarkastella joko korkeammalla tai matalammalla abstraktiotasolla. Korkealla abstraktiotasolla informaatiojärjestelmät koostuvat erilaisista dokumenteista. Matalammalla tasolla ne ovat erilaisia hajautettuja ohjelmistoja. Kommunikaatiojärjestelmät puolestaan koostuvat korkeammalla abstraktiotasolla käyttäjien välisestä vuorovaikutuksesta. Matalammalla tasolla ne voidaan toteuttaa erilaisten tietoverkkojen avulla. Informaatio-malli Informaatiojärjestelmien sisältö koostuu erilaisista multimediadokumenteista. Yleistä multimediadokumentin mallia ei kuitenkaan valitettavasti ole olemassa. Tällä hetkellä XML on lupaavin geneerinen multimedia-dokumenttien malli. Informaatiomallissa pyritään yleensä linkittämään eri dokumentit toisiinsa hyperlinkkien avulla. Muita keskeisiä ominaisuuksia ovat ajallisten suhteiden määrittäminen, vuorovaikutteisuuden määrittely sekä erilaisten toiminnallisten komponenttien toteutus. Informaatiomallin multimediadokumenteista käytetään yleisesti myös nimitystä siirtoformaatti. Erilaisia siirtoformaatteja käsitellään tarkemmin luvussa 6. 7

Hajautettu-malli Informaatiojärjestelmät ovat yleensä hajautettuja multimediajärjestelmiä. Niissä hyödynnetään useita eri teknologioita kuten edeltä kävi ilmi. Tämän takia järjestelmät ovat usein varsin monimutkaisia. Niiden ymmärtäminen on helpompaa kun järjestelmän toiminnalllisuus jaetaan eri kerroksiin taulukon 2 mukaisesti. Sovellus Ohjauskieli Ohjelmointirajapinta käyttöliittymä, median/laitteiston ohjaus, tiedonsiirto, oliot Orkestrointi resurssien jako, synkronointi, metaskedulointi Media hajautetut oliot, laitteisto, konferenssi, ikkunointi, hypermedia Järjestelmä verkon siirtoprotokollat, tiedostojärjestelmät, reaaliaika-skedulointi Laitteisto verkko, muistijärjestelmä, koodaus/dekoodaus Taulukko 2. Hajautettu-malli voidaan jakaa eri kerroksiin. Ylinpänä kerroksena on itse sovellus, joka on toteuttettu jollain ohjauskielellä. Ohjauskieli voi olla joko merkintä-, ohjelmointi- tai skriptauskieli. Ohjauskieli käyttää alempien kerrosten resursseja erilaisten ohjelmointirajapintojen kautta. Ohjelmointirajapinnat mahdollistavat käyttöliittymän toteuttamisen, eri mediaelementtien ja laitteiston ohjauksen sekä tiedonsiirron. Eri komponentit esitetään usein olioiden muodossa, joita käsitellään ohjauskielellä. Seuraava taso huolehtii eri resurssien orkestoroinista. Käytännössä tämä tarkoittaa resurssien jakamista eri sovellusten kesken, mediaelementtien synkronointia ja korkeamman tason ajoittamista eli ns. Meta-skedulointia. Orkestroinnista kerrotaan lisää hieman myöhemmin tässä luvussa. Seuraava kerros huolehtii varsinaisesta median käsittelystä. Mediaelementit esitetään usein hajautettuina olioina ja niiden käsittelyyn tarvitaan erilaisia ohjelmistokirjastoja ja laitteistoresursseja. Lisäksi tarvitaan erilaisia tietoverkkoja sisällön siirtämistä varten. Median esittämistä varten käytetään puolestaan usein ikkunointijärjestelmiä. Käyttöliittymä voidaan määritellä myös merkintäkielten avulla. Varsinainen järjestelmätaso voidaan jakaa edelleen ohjelmistoon ja laitteistoon. Ohjelmistojärjestelmä sisältyy yleensä käyttöjärjestelmään ja se koostuu mm. erilaisista tietoverkon siirtoprotokollista, tiedostojärjestelmistä, muistinhallinnasta sekä prosessien ja säikeiden skeduloinnista. Laitteistotaso puolestaan sisältää tietoliikennelaiteet, muistijärjestelmän, prosessorit ja erilaiset erikoispiirit kuten esim. erilaiset pakkaus- ja purkupiirit. 8

Kommunikaatio-malli Multimediakommunikaatiossa pyritään siis käyttäjien väliseen vuorovaikutukseen. Lähtäkohtana on perinteinen puhelin, joka mahdollistaa käyttäjien väliset keskustelut mukaan lukien erilaiset ryhmäpuhelut. Perinteisten puhelinverkkojen digitalisoituminen ja niiden yhdentymien uudempien dataliikenteen tietoverkkojen kanssa on mahdollistanut monipuolisempien multimediapalvelujen toteuttamisen. Näistä tyypillisiä esimerkkejä ovat esim. Internet-puhelut, video-puhelut ja erilaistet tietokoneistetut puhelinpalvelut. Tällä hetkellä suurin ongelma on, että perinteisten puhelinverkkojen OSI-malli ja Internetin TCP/IP-malli tukevat huonosti multimediakommunikaatiota. Niitä onkin pyritty laajentamaan uusilla protokollilla, jotka mahdollistavat mm. multimediasisällön välittämisen, ryhmälähetykset sekä suoratoiston. Lisäksi nykyisten järjestelmien kuten sähköpostin ja puhelimien on tuettava multimediasisältöjen käyttöä. Tietoverkko-malli Alemmalla abstraktiotasolla multimediakommukaatio koostuu erilaisista tietoja tietoliikenneverkoista sekä niiden kommunikaatioprotokollista. Kuten edellä kävi ilmi, multimedian käyttö edellyttää niiltä uusia ominaisuuksi. Perinteisiä puhelinverkkoja on esim. pyritty laajentamaan erilaisiksi monipalveluverkoiksi. Käytössä ovat erilaiset digitaaliset verkot kuten kuluttajille tarkoitettu Integrated Services Digital Network (ISDN) ja operaattorien sisäiseen käyttöön tarkoitettu laajakaista eli Broadband ISDN (BISDN). Tällä hetkellä Internet-teknologiat näyttäisivät kuitenkin yleistyvän nopeammin kuin ISDN ja BISDN. Multimedian näkökulmasta tavallisen data siirtoon käytetyt TCP/IP-protokollapari ei kuitenkaan sinällään ole riittävä vaan lisäksi tarvitaan protokollia suoratoiston, palvelunlaadun ja ryhmälähetysten toteuttamiseen. Näitä protokollia käsitellään tarkemmin tämän luentomonisteen luvuissa 8 ja 9. 1.2.4. Palvelunlaatu Kuten edellä on ollut puhetta multimedia asettaa tiettyjä jatkuva-aikaisesta mediasta aiheutuvia vaatimuksia alla oleville tieto- ja tietoliikennejärjestelmille. Yleisesti sanotaankin, että multimediapalvelut edellyttävät tiettyä laatua alla olevilta järjestelmiltä. Lyhyesti käytetään termiä palvelunlaatu (engl. Quality of Service (QoS)). Palvelunlaadussa ideana on selvittää minkälaista laatua kukin multimediapalvelu vaatii eri komponenteilta kuten päätelaitteen käyttöjärjestelmä, tietoverkko ja palvelimet. Vaatimukset esitetään erilaisten palvelunlaatuparametrien muodossa. Yleisimpiä palvelunlaatuparametreja ovat esim. viive, viiveen vaihtelu eli huojunta (engl. Jitter), virhetaajuus, siirtonopeus jne. Osalle multimediasovelluksista riittää paras mahdollinen saatavilla oleva palvelunlaatu. Tästä käytetään nimitystä paras yritys (Engl. Best Effort). Tietyille sovelluksille kuten esim. videoneuvottelu halutaan kuitenkin vähintään tietyn tasoinen palvelunlaatu. 9

Tästä käytetään puolestaan nimitystä taattu palvelu (engl. Guaranteed Service). Kun palvelun vaatima palvelunlaatu on tiedossa, sitä voidaan pyytää alla olevilta tieto- ja tietoliikennejärjestelmiltä. Eri palvelunlaatuparametrit välitetään käytössä olevien rajapintojen kautta eteenpäin. Neuvottelussa käytetään ylintä protokollatasoa, jotka puolestaan välittävät palvelunlaatuparametrit alemmille tasoille. Tämän jälkeen eri komponenttien on varmistettava onko riittävät resurssit olemassa. Käyttöjärjestelmä voi esim. varmistaa, onko sillä käytettävissä riittävästi prosessointiaikaa ja muistia. Toisaalta tietoverkko voi varmistaa, että aktiivisilla komponenteilla kuten reittittimillä on riittävästi kapasiteettia. Palvelimista esim. tilausvideopalvelin voi varmistaa, että sillä on riittävästi prosessointitehoa ja sen tiedostojärjestelmässä on riittävästi kapasiteettia. Tätä vaihetta kutsutaan yleisesti neuvotteluksi palvelunlaadusta. Jos palveluntarjoajalla on riittävästi resursseja se myöntää laatutason ja tekee tarvittavat varaukset eri resursseista. Palvelunlaatu edellyttää siis usein kirjanpitoa resursseista. Kirjanpitoa tarvitaan, jotta eri komponentit ovat tietoisia niiltä varatuista resursseista. 1.2.5. Synkronointi ja orkestronti Tarkka mediaelementtien sisäinen ja ulkoinen synkronointi edellyttää ohjausta. Tyypillisesti mediavirtojen käsittely muodostaa ketjun, jossa palvelin ensin noutaa mediaelementin yksittäisen näytteen tiedostojärjestelmästään, pakkaa sen pakettiin muutaman muun näytteen kanssa ja lähettää eteenpäin tietoverkkoon. Tämän jälkeen tietoverkko siirtää paketin verkon eri komponenttien kautta päätelaitteelle. Päätelaite puolestaan purkaa paketin ja prosessoi yksittäisen näytteen mm. purkamalla sen pakkauksen. Lopuksi päätelaite esittää yksittäisen näytteen käyttäjälle kulloinkin käytössä olevan tulostuslaitteen kautta. Tyypillisesti kullakin resursilla on oma ohjausyksikkönsä, joka huolehtii siitä, että kyseinen komponentti toimii tahdissa. Lisäksi tarvitaan eri komponenttien välistä neuvottelua, jotta mediavirtojen näytteiden käsittely pysyisi tahdissa. Tätä eri resurssien samanaikasta ohjausta kutsutaan orkestroinniksi (engl. Orchestration). Kukin resurssi on tavallaan orkesterin soittaja. Jokainen resurssin ohjausyksikkö ohjaa omaa resurssiaan. Esim. tiedostojärjestelmä huolehtii pääsystä tiedostoihin. Vastaavasti verkko ohjaa eri aktiivisten elementtien kuten reitittimen kautta kulkevaa liikennettä. Päätelaitteissa käyttöjärjestelmä puolestaan huolehtii esim. muistin kulutuksesta sekä yksittäisten säikeiden ja prosessien skeduloinnista (engl. Scheduling). Kuten edellä mainittiin jatkuva-aikaisen median synkronointi on tehtävä tiukkojen aikarajojen puitteissa sekä mediaelementin sisäisessä synkronoinnissa että mediaelementtien välisessä synkronoinnissa. Aina tässä ei kuitenkaan onnistuta. Tietoverkko saattaa esim. ruuhkautua, jolloin se ei kykene välittämää mediaelementin yksittäistä näytettä ajoissa palvelimelta päätelaitteelle. Yksittäisiä virheitä voidaan onneksi piilottaa käyttäjältä (engl. Error Concealment). Tarvittaessa voidaan esim. turvautua edellisen näytteen toistoon tai 10

jättää kyseinen näyte kokonaan väliin. Edellinen vaihtoehto sopii hyvin audioon ja yksittäisen videokuvan osiin. Jälkimmäinen vaihtoehto taas sopii hyvin kokonaisiin videokuviin. Lopuksi yksittäinen näyte voidaan myös hajauttaa useampaan eri pakettiin, joilloin tietoverkon yksittäiset bittivirheet eivät aiheuta koko näytteen tuhoutumista. Lisäksi voidaan turvautua myös varsinaiseen virheenkorjaukseen (engl. Error Correction). Virheenkorjauksessa yksittäiset bittivirheet korjataan näytteisiin lisättyjen virheenkorjauskoodien avulla. Mitä syvemmälle multimediajärjestelmässä mennään sen tarkemmaksi tahdistus muuttuu. Alimmalla tasolla viiveiden on pysyttävä vakioina. Käytännössä tämä hoidetaan ns. puskuroinnin avulla (engl. Buffering). Puskuroinissa yksittäisen mediaelemttiä käsittelevän resurssin eteen laitetaan hieman puskurimuistia. Kaikki resurssille tulevat näyteet tulevat puskurin lävitse. Ideana on pitää aina muutama näyte puskurissa odottamassa. Näin yksittäisten näytteiden viivästymiset pystytään estämään. Toisaalta jos näytteitä saapuu jostain syytä purskeena, voidaan ne tallettaa puskuriin odottamaan käsittelyvuoroa. Puskureiden ongelmana on kuitenkin se, että ne lisäävät yksittäisten näytteiden käsittelyn kokonaisviivettä. 1.2.6. Standardointi Hajautetuissa multimediajärjestelmissä eri komponenttien ja niiden välillä siirrettävän informaation on oltava yhteensopivaa. Tällöin voidaan käyttää eri valmistajien komponentteja ja sisällöntuottajien sisältöjä. Käytännössä yhteensopivuus varmistetaan standardien avulla. Jos stantardeja ei ole, joudutaan sitoutumaan yhden valmistajan tuotteisiin ja yhden sisällöntuottajan sisältöihin. Käytännössä standardeja tuottavat useat eri elimet: standardointielimet, kauppalliset ryhmittymät ja yksittäiset valmistajat. Viralliset standardointielimet ovat joko valtioiden välisiä standardointielimiä kuten esim. International Standardization Organization (ISO) ja International Telecommunication Union (ITU) tai avoimia yhteisöjä kuten World Wide Web Consortium (W3C) ja Internet Engineering Task Force (IETF). Kaupalliset ryhmittymät ovat tyypillisesti yritysten välisiä standardointielimiä kuten esim. Thrid Generation Partnership Project (3GPP) tai Digital Video Broadcasting Project (DVB). Lopuksi on olemassa myös yksittäisten yritysten luomia standardeja kuten esim. QuickTime. Käytännössä standardeja on kahta mallia: ns. viralliset ja de facto -standardit. Viralliset standardit ovat perinteisesti syntyneet siten, että standardointielin tai kaupallinen ryhmittymä päättää luoda standardin jollekin alueelle. Tämän jälkeen standardointielimen tai -ryhmittymän halukkaat jäsenet voivat osallistua standardin laatimiseen yhdessä. Standardista laaditaan ehdotus, jota muut jäsenet ja mahdolliset kolmannet osapuolet voivat kommentoida. Standardiin tehdään mahdollisia tarkastuksia ja täsmennyksiä, minkä jälkeen se voi edetä varsinaiseen hyväksymisprosessiin. Kullakin standardointielimellä on omat hyväksymisprosessinsa, mutta yleensä jäsenet äänestävät tavalla tai toisella standardin hyväkymisestä. 11