Vaatimusmäärittely Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Versio Päiväys Tekijä Kuvaus 0.1 12.10.01 Pekka Koskinen Ensimmäinen luonnos 0.2 17.10.01 Pekka Koskinen Lisätty vaatimuksia PK+RH 0.2tan 18.10.01 Tapio Nissilä Kommentointia ja tarkennuksia 0.25 18.10.01 Pekka Koskinen Esitys Digitalle 0.3 25.10.01 Pekka Koskinen Korjauksia Digitalta ja Mentorilta 0.4 29.10.01 Pekka Koskinen Muokattu palaverin pohjalta PK+RH 0.5 30.10.01 Pekka Koskinen Lisätty kuvat 1 ja 3 1.0 30.10.01 Pekka Koskinen Viimeistelty versio PS-vaiheen loppuun
Sisällysluettelo 1. Johdanto...3 1.1. Järjestelmän kuvaus...3 1.2. Asiakkaan ongelma...3 1.3. Järjestelmän tavoitteet...3 1.4. Määritelmät ja termit...3 1.5. Dokumentin rakenne...4 2. Yleiskuvaus...5 2.1. Järjestelmän arkkitehtuuri...5 2.2. Järjestelmän käyttö...7 2.2.1 Editointityökalun käyttö...7 2.2.3 Sovelluksen käyttö...7 2.2.4 Siirtomenetelmän käyttö...7 2.3. Rajoitteet...7 3. Vaatimukset...9 3.1. Järjestelmän vaatimusten kuvaus ja priorisointi...9 3.1.1. Editointityökalun vaatimukset...9 3.1.2 Siirtomenetelmän vaatimukset...10 3.1.3 Sovelluksen vaatimukset...10 4. Ulkoiset liittymät...11 5. Liitteet...12 Vaatimusmäärittely 2
1. Johdanto Projektin tarkoituksena on tutkia tv-kuvan kanssa synkronoitujen ohjelmistojen toteuttamismahdollisuutta digi-tv ympäristössä. 1.1. Järjestelmän kuvaus Projektissa toteutetaan järjestelmä, jossa digi-tv:n ohjelmavirran yhteydessä kulkevaan datavirtaan lisätään videokuvaan liittyviä koordinaattimerkintöjä. Koordinaattimerkintöjen lisääminen tapahtuu erillisen projektissa toteutettavan työkalun avulla. Lisäksi projektissa toteutetaan vastaanottimessa toimiva sovellus, joka lukee datavirtaan lisättyjä koordinaattimerkintöjä. 1.2. Asiakkaan ongelma Asiakas haluaa tarjota digi-tv:n sisällöntuottajille järjestelmän, jonka avulla voidaan tehdä sovelluksia, jotka liittyvät ohjelmavirtaan. Tällaisia järjestelmiä ei tällä hetkellä ole markkinoilla. 1.3. Järjestelmän tavoitteet Järjestelmän tavoitteena on mahdollistaa tv-kuvan kanssa synkronoitujen ohjelmistojen tekeminen digi-tv -ympäristöön lisäämällä videokuvan datavirtaan koordinaattimerkintöjä sekä käsittelemällä sitä digi-tv vastaanottimessa. Järjestelmän tavoitteena on tarjota sisällöntuottajille editointityökalu, jonka avulla on mahdollista yhdistää koordinaattimerkintöjä videokuvaan. Lisäksi järjestelmän tavoitteena on tarjota siirtomenetelmä editointityökalulla tuotettujen koordinaattimerkintöjen sekä synkronointi-informaation siirtämiseksi palveluntarjoajalta digi-tv verkon välityksellä vastaanottimen sovellukseen. Tavoitteena on myös se, että järjestelmään tehdään yksinkertainen sovellus, joka demonstroi ohjelmavirtaan lisättyjen parametritietojen synkronointia tvkuvaan. 1.4. Määritelmät ja termit Määritelmät ja termit on esitetty erillisessä liitteenä olevassa dokumentissa. Vaatimusmäärittely 3
1.5. Dokumentin rakenne Tämä dokumentti pitää sisällään yleiskuvauksen järjestelmästä, asiakasvaatimukset sekä ulkoiset liitännät. Yleiskuvaus esittelee toteutettavan järjestelmän perusajatuksen, sen käytön sekä rajoitteet. Vaatimusosio kuvaa ja priorisoi asiakkaan vaatimukset. Lopuksi kuvataan liitännät muihin järjestelmiin. Vaatimusmäärittely 4
2. Yleiskuvaus Järjestelmä toimii digi-tv ympäristössä. Digitaalisen lähetysverkon kautta voidaan välittää kuvan ja äänen lisäksi myös dataa. Digitaalijakelussa kuva- ja äänisignaalit, tekstitieto ja ohjelmakohtaiset lisätiedot yhdistetään multiplekserissä standardoiduksi bittivirraksi. Tämä bittivirta kuljetetaan siirtoverkon yli ja lähetetään vastaanottimille. Sisällöntuottajat X Y Z video, audio, data video, audio, data video, audio, data M U X Siirtoverkko Lähetin Objektikaruselli Vuorovaikutteisen palvelun tarjoaja Internet I P T STB Kuva 2: Digi-tv järjestelmän perusrakenne MUX = Multiplekseri IPT = Internet-palveluntarjoaja STB = set-top-box 2.1. Järjestelmän arkkitehtuuri Digi-tv sisältää järjestelmän, jolla voidaan siirtää tv-lähetyksen ohessa muuta dataa. Koska televisiolähetys on yksisuuntainen, täytyy datan pyöriä katsojan saatavilla uudelleen ja uudelleen. Digi-tv:ssä datan siirto perustuu siihen, että järjestelmässä pyörii objektikaruselli, jossa tiedostot pyörivät. Katsojan vastaanotin voi sitten ladata karusellin muodostamasta virrasta tarvittavat tiedostot. Vaatimusmäärittely 5
Tekstitiedosto Kuvatiedosto Sovellus (Java) Hakemisto -objekti Kuva 2: Karusellin objektit Tässä projektissa on tarkoitus rakentaa editointityökalu, jonka avulla voidaan muodostaa tv-kuvasta parametri-informaatiota koordinaattimerkinnöiksi. Editointityökalun tuottama koordinaattimerkinnät sisältävä tiedosto voidaan siirtää digi-tv:n tarjoamaan tiedostojen siirtojärjestelmän objektikarusellin avulla vastaanottimen sovellukselle. Koordinaattimerkintöjen synkronoiminen tv-kuvaan tapahtuu projektin aikana toteutettavan siirtomenetelmän avulla. Lisäksi vastaanottimeen tehdään sovellus, joka hyödyntää toisessa päässä luotua objektia ja toteuttaa sen avulla jonkin tv-kuvaan liittyvän toiminnon. Sisällöntuottajat Siirtoverkko EDITOINTI- TYÖKALU Editointityökalu Tiedosto SIIRTOMENETELMÄ X Y Z video, audio, data video, audio, data video, audio, data M U X Lähetin Objektikaruselli SOVELLUS Sovellus STB Kuva 3: Toteutettevan järjestelmän osat ja niiden liittyminen digi-tv ympäristöön. Vaatimusmäärittely 6
2.2. Järjestelmän käyttö Koska järjestelmä jakautuu selkeästi kolmeen eri osaan, on niitä kaikkia tarkasteltu erikseen. 2.2.1 Editointityökalun käyttö Editointityökalua käyttää palveluntarjoaja, joka muodostaa sen avulla tvkuvasta parametri-informaatiota. Käyttäjät ovat yksittäisiä eri palveluntarjoajien sisällöntuottajia. Käyttäjiä voi olla tuhansia. Työkalua käytetään studiossa, jossa lisäarvopalveluita tuotetaan. Ensimmäisessä vaiheessa ja tässä projektissa parametri-informaatio tuotetaan manuaalisesti. Käytännössä tämä tarkoittaa sitä, että informaation tuottaja piirtää työkalulla haluamansa elementit ja niistä tuotetaan koordinaattimerkintä kuvasignaaliin. Jatkossa (tämän projektin ulkopuolella) parametritiedon tuottaminen voi tapahtua hahmontunnistuksen avulla siten, että sovellus tunnistaa elementit ja tuottaa niistä koordinaatti-informaation ja käyttäjä nimeää elementit käsin. Mikäli tekniikka mahdollistaa, voidaan ajatella että kuvasta tunnistetaan automaattisesti tiettyjä objekteja ja ohjelmisto osaa tunnistaa ne itsenäisesti. Lisäksi jatkossa parametritietoa voidaan ajatella haluttavan liittää myös suoraan lähetykseen. 2.2.3 Sovelluksen käyttö Vastaanottimen sovellusta käyttää katsoja. Katsojia voi olla miljoonia. Vastaanottimen sovellusta käytetään kotona vastaanottimen ääressä. Käyttöympäristö on vastaanotin, johon kuuluu kaukosäädin. Projektin sovellus on kuitenkin luonteeltaan esimerkkisovellus. Sovelluksen käyttötarkoitus on vain parametri-infomaation siirtämisen demonstroiminen. 2.2.4 Siirtomenetelmän käyttö Siirtomenetelmää käyttävät sekä sovellus, että piirtotyökalu. 2.3. Rajoitteet Vastaanottimissa toimivat sovellukset ovat Java-sovelluksia ja niiden kehittäminen on mahdollista normaalissa Java-kehitysympäristössä. Sovellusten rakentamiseen voidaan käyttää siihen tarkoitettua työkalua, Alticomposer-ohjelmistoa. Alticomposer sisältää MHP-emulaattorin, jota voidaan käyttää sovellusten testiympäristönä. Vaatimusmäärittely 7
Sovelluksen toiminnan rajoitteina on vastaanottimen kaukosäädin, joka on suhteellisen rajoittunut. Vaatimusmäärittely 8
3. Vaatimukset 3.1. Järjestelmän vaatimusten kuvaus ja priorisointi Järjestelmän eri osien vaatimuksia on tarkasteltu erikseen ja vaatimukset on numeroitu. Numerointi on muotoa XXXX:P:NNN. XXXX kuvaa järjestelmän osaa ja X on kirjain. P on prioriteetti välillä 0-9 siten, että osalta 0 on korkein ja 9 matalin. NNN kuvaa vaatimuksen numeroa siten, että N on välillä 0-9. 3.1.1. Editointityökalun vaatimukset EDIT:0:001 EDIT:0:002 EDIT:0:003 EDIT:0:004 EDIT:0:005 EDIT:0:006 EDIT:0:007 EDIT:0:008 EDIT:5:009 EDIT:1:010 EDIT:1:011 EDIT:2:012 EDIT:0:013 Editorin tuotoksen tulee olla XML-tiedosto. Synkronointitarkkuus 1 frame. Editointitarkkuus yksi frame kerrallaan Koordinaattimerkintä pitää sisällään koordinaattipisteen sekä tiedon koordinaattimerkinnän osoittaman kuvaobjektin tyypistä Käyttöympäristö Java Video esitetään työkalussa frame kerrallaan. Siirryttäessä uuteen frameen edellisen framen koordinaattimerkintöjen asetukset jäävät voimaan mikäli uudessa framessa ei ole vielä tätä tietoa määriteltyinä Kuvaa voidaan siirtää frame kerrallaan eteen ja taakse Kuvaa voidaan siirtää kerralla käyttäjän määrittelemä frame-määrä eteen ja taakse. Ohjelman alkuun ja loppuun pitää voida siirtyä yhdellä toimenpiteellä. Videon aikaindeksi tulee näkyä jatkuvasti muodossa HH:MM:SS:FF Videon frame-indeksi tulee näkyä jatkuvasti muodossa X/N, jossa X on näkyvillä olevan framen järjestysindeksi ja N videon kokonaisframemäärä Käyttäjän tulee voida sijoittaa uusi koordinaattimerkintä mihin tahansa framen kuva-alueelle EDIT:0:014 Koordinaatiston nollapiste on vasen yläkulma ja x- koordinaatit kasvavat oikealle siirryttäessa ja y- koordinaatit kasvavat alas siirryttäessä EDIT:0:015 Jokaiselle koordinaattimerkinnälle tulee voida määritellä ympäröivä alue, joka kuuluu koordinaattimerkinnän vaikutuspiiriin. Mahdollisia alueita tulee olla ainakin suorakaide ja ellipsi. Vaatimusmäärittely 9
EDIT:5:016 EDIT:8:017 EDIT:0:018 EDIT:9:019 EDIT:0:020 Käyttäjällä pitää olla mahdollisuus saada näkyville luettelo nykyisistä voimassa olevista koordinaattimerkinnöistä ja koko projektissa esiintyvistä koordinaattimerkinnöistä. Ohjelma tuleee voida esittää normaalinopeudella mistä tahansa aikaindeksistä ohjelman alun ja lopun välillä. Kulloinkin näkyvässä framessa pitää näkyä aina siihen liittyvät koordinaattimerkinnät vaikutusalueineen Näkyvillä oleva frame pitää voida tallentaa levylle jpegpakkausstandardin mukaisessa tiedostomuodossa. Editorin tila pitää pystyä palauttamaan myöhemmällä ajanhetkellä. 3.1.2 Siirtomenetelmän vaatimukset SIIR:0:001 SIIR:0:002 SIIR:0:003 SIIR:0:004 Asiakassovellukselle tulee ilmoittaa saapuneesta koordinaattimerkinnästä tietyn ajan kuluessa Sovelluksen tulee voida lukea parametri-informaaatiosta koordinaattimerkintä ja kuvaobjektin tyyppi sekä koordinaattimerkinnän tapahtumahetki Menetelmän tulee olla MHP-standardin mukainen Menetelmän tulee lähettää parametri-informaatio siten, että se ehtii ajoissa perille 3.1.3 Sovelluksen vaatimukset SOVE:0:001 Sovelluksen tulee näyttää kaikki kyseisellä ajanhetkellä voimassa olevat koordinaattimerkinnät SOVE:5:002 Sovelluksen tulee näyttää kaikkiin kyseisellä ajanhetkellä voimassa oleviin koordinaattimerkintöihin liittyvä muu data SOVE:0:003 Sovelluksen tulee toimia MHP-ympäristössä SOVE:0:004 Tulee vastaanottaa parametri-informaatio kohdassa 3.1.2 määritellyltä siirtomenetelmältä. Vaatimusmäärittely 10
4. Ulkoiset liittymät Järjestelmä liittyy ulkoisesti digi-tv järjestelmään lähinnä siirtomenetelmän osalta. Se miten siirtomenetelmä yksityiskohtaisesti liittyy digi-tv järjestelmään tarkentuu projektin aikana. Vaatimusmäärittely 11
5. Liitteet 1. Määritelmät ja termit-dokumentti Vaatimusmäärittely 12