Toiminnallinen määrittely: Editori Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Versio Päiväys Tekijä Kuvaus 0.01 7.11.01 Pekka Koskinen Alustava sisällysluettelo 0.1 12.11.01 Pekka Koskinen Ensimmäinen luonnos 0.2 19.11.01 Pekka Koskinen Muokattu PK + MS 0.21 20.11.01 Pekka Koskinen Lisätty sekvenssidiagrammeja 0.22 22.11.01 Pekka Koskinen Muutettu ja lisätty sekv.diagrammeja 0.3 23.11.01 Pekka Koskinen Lisätty sekvenssidiagrammeja 0.4 27.11.01 Pekka Koskinen Lisätty loput diagrammit 0.5. 5.12.01 Pekka Koskinen Luonnos Digitalle kommentoitavaksi 1.0 11.12.01 Pekka Koskinen T1-vaiheessa palautettava dokumentti
Sisällysluettelo 1. Johdanto...3 1.1. Tarkoitus ja kattavuus...3 1.2. Tuote ja ympäristö...3 1.3. Määritelmät, termit ja lyhenteet...3 1.4. Viitteet...4 1.5. Yleiskatsaus dokumenttiin...4 2. Yleiskuvaus...5 2.1. Ympäristö...5 2.2. Toiminta...6 2.3. Käyttäjät...6 2.4. Yleiset rajoitteet, oletukset ja riippuvuudet...7 3. Tiedot ja tietokanta...8 3.1. Tietosisältö...8 3.2. Käyttöintensiteetti...8 3.3. Kapasiteettivaatimukset...8 4. Toiminnot...9 4.1 Yleistä...9 4.2. Sekvenssidiagrammit...10 4.3. Käyttöliittymä...21 5. Ulkoiset liittymät...22 5.1. Ohjelmistoliittymät...22 5.2. Tietoliikenneliittymät...22 6. Muut ominaisuudet...23 6.1. Käytettävyys, toipuminen, turvallisuus, suojaukset...23 6.2. Ylläpidettävyys...23 6.3. Siirrettävyys/kannettavuus, yhteensopivuus...23 6.4. Operointi...23 7. Suunnittelurajoitteet...24 7.1. Standardit...24 7.2. Laitteistorajoitteet...24 7.3. Ohjelmistorajoitteet ja muut rajoitteet...24 8. Hylätyt ratkaisuvaihtoehdot...25 9. Jatkokehitysajatuksia...26 9.1. Import-toiminne...26 9.2. Automaattinen liikerata...26 9.3. Kuvien tuonti...26 Toiminnallinen määrittely: Editori 2
1. Johdanto 1.1. Tarkoitus ja kattavuus Toiminnallisen määrittelyn tarkoituksena on määritellä editori siltä kannalta, miltä järjestelmä tulee näyttämään ulospäin, eli miten käyttäjä näkee sen (ikkunat, toiminnot, ei-toiminnalliset ominaisuudet). Tämä dokumentti käsittelee pelkästään editoria. Muista järjestelmän osista tehdään erilliset toiminnalliset määrittelyt. Toiminnallisen määrittelyn perustana on vaatimusmäärittely [Vaatimusmäärittely]. Seuraavassa suunnitteluvaiheessa toiminnallinen määrittely laajennetaan tekniseksi määrittelyksi, joten tähän dokumenttiin ei ole sisällytetty teknisiä yksityiskohtia. 1.2. Tuote ja ympäristö Tuote on editointityökalu (editori), jonka avulla voidaan muodostaa tvkuvasta parametri-informaatiota koordinaattimerkinnöiksi sekä synkronoida tämä tieto tiettyyn tv-kuvan hetkeen. Editori on esitetty yleisellä tasolla projektisuunnitelmassa sekä vaatimusmäärittelyssä. Tuotteella ei vielä tässä vaiheessa ole nimeä, joten sitä kutsutaan editoriksi. Editointityökalua käyttää palveluntarjoaja. Käyttäjät ovat yksittäisiä eri palveluntarjoajien sisällöntuottajia. Työkalua käytetään studiossa, jossa lisäarvopalveluita tuotetaan. 1.3. Määritelmät, termit ja lyhenteet Koko projektiin liittyvät määritelmät, termit ja lyhenteet on esitetty erillisessä liitteenä olevassa dokumentissa. Niistä tärkeimmät ja tähän dokumenttiin liittyvät on esitetty oheisessa taulukossa. MUX STB Projekti Koordinaattiobjekti Multiplekseri Set-Top-Box eli digi-tv vastaanotin, digiboksi Videokuvan ja siihen liittyvien aikaan sidottujen koordinaattitietojen ja geometristen objektien yhdistelmä Videokuvaan lisätty objekti, jolla voi olla erilaisia ominaisuuksia. Liittyy tiettyyn ajanhetkeen. Alkuvaiheessa suorakulmio tai ellipsi. Toiminnallinen määrittely: Editori 3
1.4. Viitteet Toiminnallinen määrittely perustuu seuraaviin muihin projektiryhmän tuottamiin dokumentteihin: [Käyttöliittymä] Käyttöliittymän vaatimusmäärittely Koordinaattieditori 0.1, 16.11.2001 [Käyttötapaukset] Käyttötapaukset 0.1, 4.11.2001 [Vaatimusmäärittely] Vaatimusmäärittely 1.0, 30.10.2001 1.5. Yleiskatsaus dokumenttiin Dokumentti jakautuu yhdeksään eri lukuun. Ensimmäinen luku on johdanto ja se kuvaa dokumentin tarkoitusta ja laajuutta sekä esittelee tuotteen pääpiirteittäin. Toinen luku kuvaa tuotteen käyttöympäristön, sen käyttäjät sekä käyttötapaukset. Kolmannessa luvussa käsitellään editoriin liittyviä tietoja ja tietokantoja. Lisäksi analysoidaan käyttöintensiteetti sekä kapasiteettivaatimukset. Neljännessä luvussa käydään yksityiskohtaisesti läpi editorin toiminnot. Ensin kuvataan editorin yleiset toiminnot ja sen jälkeen käsitellään yksittäiset toiminnot käyttötapausten avulla. Lopuksi hahmotetaan editorin käyttöliittymää. Viides luku kuvaa editorin ulkoiset liitännät. Liitännät on käsitelty erikseen laitteiston, ohjelmistojen sekä tietoliikenteen osalta. Kuudennessa luvussa käydään läpi editorin muut ominaisuudet, joihin kuuluu mm. suorituskyky ja vasteajat, käytettävyys sekä yhteensopivuus. Seitsemäs luku kuvaa editoriin liittyvät suunnittelurajoitteet. Rajoitteet on käsitelty erikseen standardien, laitteisto- ja ohjelmistorajoitteiden osalta. Kahdeksanteen lukuun on dokumentoitu hylätyt ratkaisuvaihtoehdot perusteluineen. Yhdeksännessä luvussa esitetään editorin jatkokehitysajatuksia. Toiminnallinen määrittely: Editori 4
2. Yleiskuvaus 2.1. Ympäristö Editorin tehtävänä on toimia sisällöntuottajien apuvälineenä digi-tv ympäristössä. Digitaalisen lähetysverkon kautta voidaan välittää kuvan ja äänen lisäksi myös dataa. Editorin tuottama data tallennetaan tiedostoon, josta se lähetetään siirtoverkon yli TV-katsojan digiboksissa käynnissä olevalle sovellukselle. Projektin yhteydessä tuotetaan editorin lisäksi siirtomenetelmä tiedostojen ja synkronointi-informaation siirtämiseksi sekä yksinkertainen sovellus vastaanottimeen demonstroimaan siirrettävää informaatiota ja sen synkronointia tv-kuvaan. Sisällöntuottajat Siirtoverkko EDITOINTI- TYÖKALU Editori Tiedosto SIIRTOMENETELMÄ X Y Z video, audio, data video, audio, data video, audio, data M U X Lähetin Objektikaruselli SOVELLUS Sovellus STB Kuva 1: Toteutettavan järjestelmän osat ja niiden liittyminen digi-tv ympäristöön. Toiminnallinen määrittely: Editori 5
2.2. Toiminta Editorin avulla voidaan muodostaa videokuvasta parametri-informaatiota koordinaattimerkinnöiksi sekä synkronoida tämä tieto tiettyyn tv-kuvan hetkeen. Alussa käyttäjä luo uuden projektin. Uuteen projektiin liittyy videokuva, jonka käyttäjä samalla määrittelee. Projektin luomisen jälkeen projektiin voidaan lisätä koordinaattiobjekteja. Näille objekteille voidaan määritellä tiettyjä ominaisuuksia sekä liikeratoja. Objektit lisätään projektin objektiluetteloon, jossa ne pysyvät ellei niitä erikseen poisteta. Objektien ominaisuuksia ja sijaintia voidaan myöhemmin muuttaa videon aikaan sidottuna. Editoinnin aikana käyttäjällä on mahdollisuus saada näkyville luettelo sekä sillä hetkellä voimassa olevista koordinaattimerkinnöistä että koko projektissa esiintyvistä koordinaattimerkinnöistä. Koska editorin avulla tuotetaan videokuvaan liittyviä koordinaattimerkintöjä, videon ajassa voidaan liikkua. Editori mahdollistaa videokuvan kelaamisen eteen ja taaksepäin eri nopeuksilla. Hitaimmillaan kelaaminen tapahtuu kuva kerrallaan ja nopeimmillaan voidaan siirtyä kerralla videon alkuun tai loppuun. Projekti, voidaan myös esittää normaalinopeudella mistä tahansa aikaindeksistä ohjelman alun ja lopun välillä. Projekti voidaan tallentaa, jolloin sen muokkaamista voidaan myöhemmin jatkaa tallennushetkellä vallinneesta tilanteesta lataamalla projekti uudelleen. Lisäksi optiona on näkyvillä olevan framen tallentaminen levylle jpegpakkausstandardin mukaisessa tiedostomuodossa. Toisena optiona on objektitietojen vienti projektista sellaiseen tiedostomuotoon, joka voidaan syöttää digi-tv-objektikaruselliin. 2.3. Käyttäjät Editorisovellus ei ole televisioteknikkojen työkalu, vaan sillä luodaan lisäarvopalveluita ohjelmien kylkiäiseksi eli sanalla sanoen sisältöä. Tätä sisältöä luovat aivan samat ihmiset, jotka suunnittelevat ja laativat digitelevision muitakin lisäarvopalveluja, eli esimerkiksi palveluntarjoajien ja mainostoimistojen graafiset suunnittelijat. [Käyttöliittymä] Käyttäjät voidaan jakaa kahteen ryhmään, editoijiin ja sisällöntuottajiin. Editoijat tekevät ohjelmasisältöön vain koordinaatti-informaation kun taas sisällöntuottajat luovat koordinaatti-informaatiota luovemmalla tavalla. Toiminnallinen määrittely: Editori 6
Käyttäjiä ja käyttäjäryhmiä on kuvattu tarkemmin dokumentissa Käyttöliittymän vaatimusmäärittely, Koordinaattieditori, versio 0.1, 16.11.2001. 2.4. Yleiset rajoitteet, oletukset ja riippuvuudet Editori on luonteeltaan erillinen ja itsenäinen osa järjestelmää. Sen suunnittelussa ja toteutuksessa pyritään järjestelmäriippumattomuuteen, siirrettävyyteen ja mahdollisimman pieneen ylläpidon tarpeeseen. Ohjelmistoalusta on Java. Editorin tuottama tieto tallennetaan XML-tiedostoon. Lisäksi, mikäli tiedoston vienti objektikaruselliin toteutetaan, voidaan tietoa tallentaa sen edellyttämään muotoon. Objektikarusellin edellyttämä tiedostomuoto selviää siinä vaiheessa kun Digitan käytössä olevan objektikarusellin tyyppi varmistuu. Toiminnallinen määrittely: Editori 7
3. Tiedot ja tietokanta 3.1. Tietosisältö Editori ei sisällä tietokantarakenteita. Tietosisältöinä siihen liittyvät videokuvan sisältävä MPEG-2 tiedosto sekä itse projektin tietosisältö. Projekti sisältää koordinaattiobjekteja, viittauksen siihen liittyvään videoon sekä objektin liikeradan suhteessa videokuvan aikaan. Koordinaattitiedon tietorakenne määritellään tarkemmin teknisessä määrittelyssä. Projekti voidaan tallentaa XML-tiedostoon (vaatimus EDIT:0:001 [Vaatimusmäärittely]). Lisäksi mahdollisesti toteutetaan projektin vienti objektikaruselliin, jolloin se voidaan tallentaa objektikarusellin vaatimaan tiedostomuotoon (UC:008) [Käyttötapaukset]. 3.2. Käyttöintensiteetti Editori on sovellus, joka toimii yksittäisissä työasemissa. Yhtäaikaisia käyttäjiä on aina vain yksi. Käytölle ominaista on se, että ohjelmaa käytetään kerralla pidempään. 3.3. Kapasiteettivaatimukset Kapasitettivaatimuksia pohditaan vielä yhdessä Digitan kanssa. Mahdollisia vaatimuksia ainakin videotiedoston koon, ohjelman pituuden ja koordinaattiobjektien lukumäärän osalta tulee miettiä. Lisäksi editorin tulee täyttää vaatimusmäärittelyn vaatimus EDIT:0:002 Synkronointitarkkuus 1 frame. Toiminnallinen määrittely: Editori 8
4. Toiminnot 4.1 Yleistä Toiminnot esitetään sekvenssidiagrammeina, jotka on tehty käyttötapausten perusteella. Toiminnot tarkentuvat vielä käyttöliittymäsuunnittelun myötä. Tällöin tarkentuu mm. yleisten vakionäppäinten sovellettavuus (esim. Adobe Premiere), käytettävissä olevan hiiren tyyppi, varatut sanat eli avainsanat sekä toimintojen nimet. Toiminnallinen määrittely: Editori 9
4.2. Sekvenssidiagrammit 4.2.1. UC:001 Uuden projektin luominen Uuden projektin luominen on kuvattu käyttötapauksessa UC:001 [Käyttötapaukset]. Toiminnallinen määrittely: Editori 10
4.2.2. UC:002 Objektin lisääminen Objektin lisääminen on kuvattu käyttötapauksessa UC:002 [Käyttötapaukset]. Käyttötapauksen tulee täyttää seuraavatvaatimukset [Vaatimusmäärittely]: EDIT:0:004 EDIT:0:013 EDIT:0:015. Toiminnallinen määrittely: Editori 11
4.2.3. UC:003 Ajassa liikkuminen Ajassa liikkuminen on kuvattu käyttötapauksessa UC:003 [Käyttötapaukset]. Käyttötapauksen tulee täyttää vaatimusmäärittelyn vaatimukset EDIT:0:007, EDIT:0:008, EDIT:5:009 ja EDIT:1:010 [Vaatimusmäärittely]. Toiminnallinen määrittely: Editori 12
4.2.4. UC:004 Objektien ominaisuuksien ja sijainnin muuttaminen Objektien ominaisuuksien ja sijainnin muuttaminen on kuvattu käyttötapauksessa UC:004 [Käyttötapaukset]. Toiminnallinen määrittely: Editori 13
4.2.5. UC:005 Objektin poistaminen Objektin poistaminen on kuvattu käyttötapauksessa UC:005 [Käyttötapaukset]. Toiminnallinen määrittely: Editori 14
4.2.6. UC:006 Projektin tallentaminen Projektin tallentaminen on kuvattu käyttötapauksessa UC:006 [Käyttötapaukset]. Käyttötapauksen tulee täyttää vaatimusmäärittelyn vaatimus EDIT:0:020 [Vaatimusmäärittely]. Toiminnallinen määrittely: Editori 15
4.2.7. UC:007 Projektin lataaminen Projektin lataaminen on kuvattu käyttötapauksessa UC:007 [Käyttötapaukset]. Käyttötapauksen tulee täyttää vaatimusmäärittelyn vaatimus EDIT:0:020 [Vaatimusmäärittely]. Toiminnallinen määrittely: Editori 16
4.2.8. UC:008 Objektitietojen vienti projektista Objektitietojen vienti projektista on kuvattu käyttötapauksessa UC:008 [Käyttötapaukset]. Toiminnallinen määrittely: Editori 17
4.2.9. UC:009 Luettelo koordinaattimerkinnöistä Luettelo koordinaattimerkinnöistä on kuvattu käyttötapauksessa UC:009 [Käyttötapaukset]. Käyttötapauksen tulee toteuttaa vaatimusmäärittelyn vaatimus EDIT:5:016 [Vaatimusmäärittely]. Toiminnallinen määrittely: Editori 18
4.2.10. UC:010 Ohjelman esittäminen normaalinopeudella Ohjelman esittäminen normaalinopeudella on kuvattu käyttötapauksessa UC:010 [Käyttötapaukset]. Käyttötapauksen tulee toteuttaa vaatimusmäärittelyn vaatimus EDIT:8:017 [Vaatimusmäärittely]. Toiminnallinen määrittely: Editori 19
4.2.10. UC:011 Näkyvillä olevan framen tallentaminen kuvana Näkyvillä olevan framen tallentaminen on kuvattu käyttötapauksessa UC:011 [Käyttötapaukset]. Käyttötapauksen tulee toteuttaa vaatimusmäärittelyn vaatimus EDIT:9:019 [Vaatimusmäärittely]. Toiminnallinen määrittely: Editori 20
4.3. Käyttöliittymä Koska käyttöliittymä on perustana tuotteen menestykselle, se suunnitellaan erikseen. Suunnittelussa tulee huomioida vaatimusmäärittelyn vaatimukset EDIT:0:003, EDIT:0:006, EDIT:1:011, EDIT:0:014 sekä EDIT:0:018 [Vaatimusmäärittely]. Käyttöliittymäsuunnittelu dokumentoidaan erikseen. Toiminnallinen määrittely: Editori 21
5. Ulkoiset liittymät 5.1. Ohjelmistoliittymät Ohjelmistoliittymän tulee täyttää vaatimusmäärittelyn vaatimus EDIT:0:005 Käyttöympäristä Java [Vaatimusmäärittely]. 5.2. Tietoliikenneliittymät Editorissa ei itsessään ole varsinaisia tietoliikenneliittymiä. Editorin tuotos tallennetaan joko XML- tai objektikarusellin edellyttämässä tiedostomuodossa, jonka jälkeen se on siirrettävissä digi-tv ympäristöön joko erillisen siirtomenetelmän tai objektikarusellin avulla. Toiminnallinen määrittely: Editori 22
6. Muut ominaisuudet 6.1. Käytettävyys, toipuminen, turvallisuus, suojaukset Sisällöntuottajien näkökulmasta olisi tärkeää, että editorin käyttöliittymä olisi helppokäyttöinen. Lisäksi sen tulee toimintojensa osalta mahdollisuuksien mukaan vastata alan muiden työkalujen toimintoja (esim. Adobe Premiere). 6.2. Ylläpidettävyys Jatkokehittämisen kannalta editorin rakenne pyritään pitämään modulaarisena. 6.3. Siirrettävyys/kannettavuus, yhteensopivuus Siirrettävyyden turvaamiseksi ohjelmistoalustaksi on valittu Java. 6.4. Operointi Editori ei tarvitse aktiivista ylläpitoa. Toiminnallinen määrittely: Editori 23
7. Suunnittelurajoitteet 7.1. Standardit Editoriin suunnittelua rajoittavat standardit liittyvät tiedostomuotoihin. Editorin tulee lukea MPEG-2 muotoista videokuvaa. Lisäksi editorin tuotoksena syntyvä projektitiedosto tallennetaan XML-tiedostona. Optiona mahdollisesti toteutettava tiedoston vienti objektikaruselliin edellyttää sitä, että tiedosto tallennetaan karuselliin sopivassa muodossa. Objektikarusellin edellyttämä tiedostomuoto selviää myöhemmin kun Digita on varmistanut käyttöön tulevan objektikarusellin tyypin. 7.2. Laitteistorajoitteet Suositeltu laitteisto editori-työasemaksi: - Intel P2 300 MHZ tai parempi - Vähintään 128 MB muistia - Vähintään 500 MB kovalevytilaa Olennaisinta työasemassa on näytön koko ja hiiren tyyppi. Näytön minimikoko on 17 ja suositeltava koko 19. Resoluutio, johon näytön tulee pystyä on 1280 * 1024. Editorin käyttöä kannettavissa tietokoneissa ei suositella. 7.3. Ohjelmistorajoitteet ja muut rajoitteet Mahdolliset ohjelmisto- ja muut rajoitteet esitetään teknisessä määrittelyssä. Toiminnallinen määrittely: Editori 24
8. Hylätyt ratkaisuvaihtoehdot Hylättyjä ratkaisuvaihtoehtoja ei tässä vaiheessa ole. Toiminnallinen määrittely: Editori 25
9. Jatkokehitysajatuksia 9.1. Import-toiminne Joissain tapauksessa editoriin haluttaisiin ehkä tuoda aikaisemmin luotuja objekteja. Nämä jakautuvat kahdenlaisiin tyyppeihin, tietoon ja liikerataan. Esimerkkinä objekteihin liittyvästä tiedosta on se, että haluttaisiin tuoda esim. HIFK:n pelaajien tiedot uuteen otteluun. Liikerataesimerkkinä voidaan mainita sellaiset objektit, joiden liikerata ei varsinaisesti liity kuvaan. Esimerkiksi mainoksessa pörräävä animaatiokärpänen, joka käyttää samaa rataa eri mainoksissa. 9.2. Automaattinen liikerata Jatkossa editori voisi tuottaa liikeratoja automaattisesti siten, että määriteltäisiin liikeradan alku- ja päätepisteet joiden perusteella laskettaisiin liikerata. 9.3. Kuvien tuonti Objekteiksi voisi olla kiva tuoda valmiita kuvia, esim. piirretty kärpänen, joka pörräisi ruudulla objektina. Toiminnallinen määrittely: Editori 26