Siirtoformaatit Johdanto Sovellusalueet Vaatimukset Raita- ja oliomalli Reaaliaikainen tiedonsiirto Erilaiset siirtoformaatit Vertailu Johdanto Multimediatuotteiden siirrossa tarvitaan alusta- ja ohjelmistoriippumattomia siirtoformaatteja Siirtoformaattien perustana voi olla + raidat + oliot Suurin osa siirtoformaateista on tiedostoformaatteja, mutta osa tukee myös reaaliaikaista siirtoa Petri Vuorimaa 1 Petri Vuorimaa 2 Yleistä Sovellusalueet Siirtoformaatti määrittelee: + ajan, paikan, rakenteen ja toiminnan (skriptit) Ilman siirtoformaattia yhdellä sovelluksella tuotettua sisältöä ei voi lukea ja käyttää toisella sovelluksella Siirtoformaatit voivat olla julkisia tai valmistajakohtaisia Konversiotyökalut on huono ratkaisu 1. Tallennusformaatti 2. Siirtoformaatti 3. Reaaliaikainen siirtoformaatti 4. Sovellusten välinen tiedonsiirto 4. 1. 2. 3. Petri Vuorimaa 3 Petri Vuorimaa 4 Käyttötarkoitukset Multimediajärjestelmissä yhteistä siirtoformaattia voidaan käyttää monessa paikassa: + sovellukset: siirtoformaatti toimii sovellusten API:na + mediapalvelin: siirtoformaatti määrittelee ajoitukset + tietokannat: tiedot talletetaan ja luetaan siirtoformaatin määritysten mukaisesti + verkko: verkko ylläpitää ajoituksia siirtoformaatin mukaisesti Eri formaatit Kategoria Esimerkki Yleinen formaatti ASN.1 Multimedia dokumentti HyTime DTD Esitysformaatti QuickTime, MHEG Yksi media MPEG Petri Vuorimaa 5 Petri Vuorimaa 6 1
Vaatimukset Raitamalli Datamalli: + aika, synkronointi, eri formaatit, osoitus, hyperlinkit, interaktiivisuus Skriptit: + ohjelmointikieli tai graafinen ohjelmointi Kapasiteetti: + määrittely ei yleensä vie paljon tilaa Hakuaika: + purku oltava nopeaa, progressiivinen resoluutio ym. Siirrettävyys: + laitteisto-ja alustariippumattomuus Laajennettavuus: + uudet formaatit, parametrit jne. Multimediadokumentti on lista, joka kertoo missä järjestyksessä eri komponentit haetaan ja esitetään Raitamallissa hakujärjestys on määritelty ajan perusteella Selostus Grafiikka Audio Video aika Petri Vuorimaa 7 Petri Vuorimaa 8 Oliomalli Oliomallissa hakujärjestys on määritelty tietorakenteen mukaisesti Petri Vuorimaa 9 Raitamallin toteutus Raitamallissa tahdistetaan soittimia // Open Initialize clock Initialize movie, track, and media indices Initialize handlers // Players Repeat Get next segment of media Call handlers Advance clock Petri Vuorimaa 10 Oliomallin toteutus Oliomalli sallii paremmin vuorovaikutuksen toteuttamisen // Open Get table of contents, object tables Initialize presentation processes // Present Repeat Repeat Get set of objects to be presented Invoke players for each object Until media event or input condition Pass input condition to application or script to interpret Identify next set of object to present Until exit condition Petri Vuorimaa 11 Reaaliaikainen tiedonsiirto Mediaobjektit on siirrettävä ja näytettävä siirtoformaatin määritysten mukaisesti Objektien haku ja näyttö sekä käyttövaste on tapahduttava tiettyjen rajojen sisällä Tarvittaessa esim. kuvataajuutta ja resoluutiota voidaan tiputtaa Myös siirtoformaattia voidaan optimoida Petri Vuorimaa 12 2
Menetelmät Menetelmät (jatk.) Objektien sijainti + samanaikaisesti haettavat mediaobjektit ovat lähekkäin Osittainen objektien haku: + isot objektit haetaan paloissa, koska niitä ei voi esittää kerralla Objektien järjestys: + hakumekanismi ylläpitää esitysjärjestyksen Objektien indeksointi: + luodaan nopea objektien hakutaulu Petri Vuorimaa 13 Objektien lomittelu: + isoja objekteja haetaan vuorotellen Objektien kuvauksen ja sisällön haku erikseen: + kuvaus haetaan ensin ja sisällön siirto optimoidaan sen perusteella Progressiivinen haku: + kuvat haetaan ensin pienellä resoluutiolla Resurssisuositukset: + ilmoitetaan etukäteen resurssivaatimukset Petri Vuorimaa 14 Erilaiset siirtoformaatit QuickTime QuickTime MHEG HTML XML Macromedia Petri Vuorimaa 15 QuickTime mahdollistaa eri mediatyyppien luomisen, integroinnin ja esittämisen QuickTime koostuu kolmesta eri tasosta: + QuickTime Movie File + QuickTime Media Abstraction Layer + QuickTime Media Services QuickTime mahdollistaa multimediasovelluksen rakenteen, spatiaalisen ja ajallisen määrittelyn Sillä ei voi määrittää interaktiivisia toimintoja Petri Vuorimaa 16 QuickTime Media Format Applen multimediatiedostoformaatti Perustuu raitamallille Yksi elokuva voi sisältää useampia raitoja Elokuvan aika ja näyttö Elokuva Raita Media Otsikko Referenssi Informaatio Data Ajallinen ja paikallinen kompositio Fyysiset parametrit Soitin Organisaatio Varsinainen sisältö Petri Vuorimaa 17 QuickTime-elokuvat Useasta raidasta koostuva elokuva Mediaelementeistä koostuva raita Mediaelementtien linkitys fyysiseen mediaa Petri Vuorimaa 18 3
MHEG ISO:n työryhmä Oliopohjainen multi- ja hypermedian siirtoformaatti Tukee interaktiivisuutta ja reaaliaikaista siirtoa Määrittelee lopullisen esitysmuodon Ominaisuudet Määrittelee joukon alustariippumattomia komponentteja interaktiivisuutta varten Interaktiivisuus voidaan toteuttaa kahdella tapaa: + komponentit linkitetään erilaisiin tapahtumiin + käytetään skriptaus-kieltä Tapahtumat syntyvät ajoitusmäärityksistä tai käyttäjän toimenpiteistä Petri Vuorimaa 19 Petri Vuorimaa 20 Ominaisuudet (jatk.) MHEG-luokkahierarkia Sekä paikallisen että ajallisen sijainnin määrittely mahdollista Makrojen avulla voidaan määritellä monimutkaisia objekteja malleja käyttäen Sisältää myös tukea reaaliaikaista siirtoa varten MH-object Behavior Action Link Script Component Content Interaction Composite Descriptor Macro Selection Modification Macro Definition Macro Use Petri Vuorimaa 21 Petri Vuorimaa 22 MHEG-demo Tekstitelevisio Laadittu MHEG -siirtoformaattia käyttäen Koostuu mediaelementeistä ja MHEG -tiedostoista MHEG-työkalut Useita puolivalmiita työkaluja Työkalut voidaan jakaa kolmeen ryhmään: + MHEG-editorit + Template-editorit + Muunnostyökalut MHEG -formaattia on toistaiseksi käytetty vähän, joten markkinoita työkaluille ei vielä ole Petri Vuorimaa 23 Petri Vuorimaa 24 4
HTML HTML-dokumentit koostuvat tekstistä ja ohjauskomennoista (markup commands) Nykyinen HTML 4.01 ei tue elementtien sijoittelua, synkronointia eikä interaktiivisuutta Tyylisivut (Cascading Style Sheets) mahdollistavat elementtien sijoittelun (CSS2) Petri Vuorimaa 25 HTML (jatk.) Interaktiiviisuus voidaan määritellä ECMAScript kielellä + standardi pohjautuu JavaScript ja JScript -kieliin ECMAScript -ohjelmat voivat käsitellä dokumentteja Document Object Model (DOM) rajapinnan kautta Dokumenttien ajallinen synkronointi vasta tulossa + Synchronized Multimedia Integration Language (SMIL) Petri Vuorimaa 26 Tyylisivut Tyylisivut mahdollistavat elementtien sijoittamisen, tyylin ja ulkoasun määrittelyn Www-sivu voi koostua useasta kerroksesta Esityksen sisältö ja ulkoasua voidaan määritellä erikseen Samaa sisältöä voi käyttää eri päätelaitteissa Tällä hetkellä CSS1 & CSS2 käytössä ja CSS3 tulossa ECMAScript-262 Syntynyt JavaScriptin ja JScriptin pohjalta Yksinkertainen tulkattava kieli (Basic) Käyttäjä voi kirjoittaa skriptejä, jotka muokkaavat www-sivujen ulkoasua Mahdollistaa erilaisten sovellusten toteuttamisen Petri Vuorimaa 27 Petri Vuorimaa 28 Document Object Model (DOM) Selaimen sisäinen puumainen tietorakenne Olio-orientoitunut ohjelmointirajapinta + Selaimen sisällä dokumenttia voi käsitellä oliorakenteena Mahdollistaa kaikkien www-elementtien manipuloinnin Sama skriptitoimii kaikissa selaimissa Toimii sekä HTML- että XML-sivujen kanssa SMiL Esitys voi koostua useammista tiedostoista tai mediavirroista SMiL määrittelee elementtien välisen synkronoinnin Elementeistä voidaan eri tilanteissa käyttää eri versioita Erillinen XML-formaatissa oleva tiedosto Petri Vuorimaa 29 Petri Vuorimaa 30 5
HTML-työkalut HTML 4.01 tukevia työkaluja on lukuisia WYSIWYG editorit suosittuja Tyylisivuja tukee vain harva työkalu (ja selain) + SoftQuad HotMetaLPro 6.0 + Macromedia Dreamweaver JavaScriptin käyttö vaatii ohjelmointitaitoja + Netobjects ScriptBuilder SMiL ja HTML+TIME tuki vähäistä + RealNetworks RealPlayer 6.0 Petri Vuorimaa 31 XML XML on metakieli, jolla voidaan määrittää erilaisia dokumenttien kuvauksia (esim. HTML) Tyylisivut määritellään XSL määritysten mukaisesti Toinen vaihtoehto on käyttää CSS-tyylisivuja Interaktiivisuuden määrittelyyn käytetään ECMAScritp standardia ja DOM-mallia Ajallinen synkronointi vaatii SMiL:n käyttöä Petri Vuorimaa 32 Nimiavaruuksien sekoittaminen SMIL+XForms Sekoitettujen nimiavaruuksien (mixed namespaces) avulla samassa dokumentissa voidaan käyttää yhtä aikaa useampia XML-kieliä Merkinnän eteen lisätään etuliite, joka kertoo mihin kieleen se kuuluu + esim. <smil:layout> Petri Vuorimaa 33 Petri Vuorimaa 34 XML-työkalut XML on vasta tulossa selaimiin + suurin osa selaimista toteuttaa vain pienen osan määrittelyistä + www.x-smiles.org Tarjolla on muutamia ohjelmistokomponentteja Työkalut ovat vielä puutteellisia Macromedia Macromedia on suurin multimedian tuotantotyökalujen tuottaja Macromedia Director yleisin tuotantotyökalu Macromedialla on kaksi siirtoformaattia wwwjakelua varten + Macromedia Shockwave + Macromedia Flash Kummankaan formaatti ei ole julkinen Petri Vuorimaa 35 Petri Vuorimaa 36 6
Shockwave Mahdollistaa Directorilla tehtyjen multimediasovellusten näyttämisen www-selaimessa Selaimeen asennetaan erillinen plug-in -ohjelma Tiedostot isoja ja vaikeita käyttää tämän päivän Internetissä Flash Alkuperäinen nimi FutureSpash + Macromedia osti tuotetta valmistavan yrityksen -97 Perustuu vektorigrafiikan käyttöön +ei kuvia - vaan piirtokomennot Vaatii myös erillisen plug-in -ohjelman asentamisen www-selaimeen Sovellusten tuottamista varten oma työkalu + suppea versio Macromedia Directorista Petri Vuorimaa 37 Petri Vuorimaa 38 Flash-demot Vertailu Grokbot Dancing Bush Humor Bin www.grokbot.com www.miniclip.com www.cards-n-toons.com Quick MHEG HTML XML Shock Flash Avoin Heikko Kyllä Kyllä Kyllä Ei Ei Raita/olio Raita Olio (DOM) (DOM) Raita Raita Interakt. Ei Kyllä Heikko Heikko Kyllä Kyllä Hyperlinkit Ei - Kyllä Kyllä - - Skriptit Ei Kyllä (ECMA) (ECMA) Kyllä (Kyllä) Synkron. Kyllä Kyllä (SMiL) (SMiL) Kyllä Kyllä Petri Vuorimaa 39 Petri Vuorimaa 40 7