3
Sadržaj — Ovaj rad sadrži opis realizacije Android aplikacije namenjene prijemnicima digitalnog televizijskog signala, opis problema pri njenoj realizaciji kao i rešenja pomoću kojih su ti problemi prevaziđeni. Aplikacija omogućava prikaz podataka digitalne televizije korišćenjem android grafičkih komponenti i interakciju korisnika sa tim podacima. Za dobavljanje podataka digitalne televizije (eng. Digital Television) koristi se programska podrška TV prijemnika (eng. Middleware), a propagacija tih podataka do Android aplikacije odvija se putem JNI sloja i Android Servisa. Ključne reči — DTV, STB, TV, Andoid. I. UVOD igitalna televizija podrazumeva prenos slike i zvuka sa dodatnim informacijama u digitalnom formatu. Korisniku se pružaju razne mogućnosti koje ne postoje u analognoj televiziji kao što su izbor formata slike ili zvuka, izbor audio kanala, multimedijalni sadržaji, izbor jezika za prevod, PVR (eng. Personal video recorder) kao i mogućnost da u svakom momentu pregleda raspored emisija koje se emituju kao i emisija koje će se emitovati. Najvažniji standardi digitalne televizije: ATSC (eng. Advanced Television System Committee) standardi se primenjuju u digitalnom TV prenosu zemaljskim vezama u SAD, Kanadi, Meksiku, DVB (eng. Digital Video Broadcasting) je grupa standarda proizašla iz međunarodne inicijative. Ovaj standard se dominantno koristi u Evropi ali i u većem delu sveta, Ovaj rad je delimično finansiran od Ministarstva prosvete i nauke Republike Srbije, projekat III-44009 Miloš Milanović – Fakultet tehničkih nauka u Novom Sadu, Trg Dositeja Obradovića 6, 21000 Novi Sad, Srbija (e-mail: [email protected] ) Branimir Pavlović – RT-RK Computer Based Systems, Narodnog fronta 23A, 21000 Novi Sad, Srbija (e-mail: branimir.pavlovic@rt- rk.com ) Ivan Petrvić – RT-RK Computer Based Systems, Narodnog fronta 23A, 21000 Novi Sad, Srbija (e-mail: [email protected] ) Tomislav Maruna – RT-RK Computer Based Systems, Narodnog fronta 23A, 21000 Novi Sad, Srbija (e-mail: tomislav.maruna@rt- rk.com ) OCAP (eng. Open Cable Protocol) je standard koji se koristi u SAD u kablovskoj digitalnoj televiziji. II. OPIS FUNKCIONALNOSTI Za potrebe realizacije Android TV aplikacije neophodno je obezbediti ispravnu komunikaciju na svim nivoima Android OS počevši od nižih slojeva, pa sve do grafičke korisničke sprege. Potrebno je omogućiti prikupljanje DTV podataka u nižim slojevima i slanje tih podataka ka grafičkoj korisničkoj sprezi. Programski moduli potrebni za realizaciju TV aplikacije koja podržava DTV funkcionalnost prikazani su na slici 1. Slika 1. Grafički prikaz veze između delova programske podrške Jedan od važnih delova ovog sistema je svakako uspostava veze između DTV servisa i aplikativnog servisa, Jedno rešenje grafičke korisničke sprege TV aplikacije na prijemniku digitalnog televizijskog signala zasnovanog na Android platformi Miloš Milanović, Fakultet tehničkih nauka, Novi Sad, [email protected] , Branimir Pavlović, RT-RK Computer Based Systems, [email protected] , Ivan Petrović, RT-RK Computer Based Systems, [email protected] , Tomislav Maruna, RT-RK Computer Based Systems, [email protected] D 21st Telecommunications forum TELFOR 2013 Serbia, Belgrade, November 26-28, 2013. 978-1-4799-1420-3/13/$31.00 ©2013 IEEE

[IEEE 2013 21st Telecommunications Forum Telfor (TELFOR) - Belgrade, Serbia (2013.11.26-2013.11.28)] 2013 21st Telecommunications Forum Telfor (TELFOR) - One implementation of UI TV

Embed Size (px)

Citation preview

Sadržaj — Ovaj rad sadrži opis realizacije Android

aplikacije namenjene prijemnicima digitalnog televizijskog signala, opis problema pri njenoj realizaciji kao i rešenja pomoću kojih su ti problemi prevaziđeni. Aplikacija omogućava prikaz podataka digitalne televizije korišćenjem android grafičkih komponenti i interakciju korisnika sa tim podacima. Za dobavljanje podataka digitalne televizije (eng. Digital Television) koristi se programska podrška TV prijemnika (eng. Middleware), a propagacija tih podataka do Android aplikacije odvija se putem JNI sloja i Android Servisa.

Ključne reči — DTV, STB, TV, Andoid.

I. UVOD igitalna televizija podrazumeva prenos slike i zvuka sa dodatnim informacijama u digitalnom formatu.

Korisniku se pružaju razne mogućnosti koje ne postoje u analognoj televiziji kao što su izbor formata slike ili zvuka, izbor audio kanala, multimedijalni sadržaji, izbor jezika za prevod, PVR (eng. Personal video recorder) kao i mogućnost da u svakom momentu pregleda raspored emisija koje se emituju kao i emisija koje će se emitovati. Najvažniji standardi digitalne televizije:

• ATSC (eng. Advanced Television System Committee) standardi se primenjuju u digitalnom TV prenosu zemaljskim vezama u SAD, Kanadi, Meksiku,

• DVB (eng. Digital Video Broadcasting) je grupa standarda proizašla iz međunarodne inicijative. Ovaj standard se dominantno koristi u Evropi ali i u većem delu sveta,

Ovaj rad je delimično finansiran od Ministarstva prosvete i nauke Republike Srbije, projekat III-44009

Miloš Milanović – Fakultet tehničkih nauka u Novom Sadu, Trg Dositeja Obradovića 6, 21000 Novi Sad, Srbija (e-mail: [email protected])

Branimir Pavlović – RT-RK Computer Based Systems, Narodnog fronta 23A, 21000 Novi Sad, Srbija (e-mail: [email protected])

Ivan Petrvić – RT-RK Computer Based Systems, Narodnog fronta 23A, 21000 Novi Sad, Srbija (e-mail: [email protected])

Tomislav Maruna – RT-RK Computer Based Systems, Narodnog fronta 23A, 21000 Novi Sad, Srbija (e-mail: [email protected])

• OCAP (eng. Open Cable Protocol) je standard koji se koristi u SAD u kablovskoj digitalnoj televiziji.

II. OPIS FUNKCIONALNOSTI Za potrebe realizacije Android TV aplikacije

neophodno je obezbediti ispravnu komunikaciju na svim nivoima Android OS počevši od nižih slojeva, pa sve do grafičke korisničke sprege. Potrebno je omogućiti prikupljanje DTV podataka u nižim slojevima i slanje tih podataka ka grafičkoj korisničkoj sprezi.

Programski moduli potrebni za realizaciju TV aplikacije koja podržava DTV funkcionalnost prikazani su na slici 1.

Slika 1. Grafički prikaz veze između delova programske

podrške

Jedan od važnih delova ovog sistema je svakako uspostava veze između DTV servisa i aplikativnog servisa,

Jedno rešenje grafičke korisničke sprege TV aplikacije na prijemniku digitalnog televizijskog

signala zasnovanog na Android platformi Miloš Milanović, Fakultet tehničkih nauka, Novi Sad, [email protected], Branimir Pavlović,

RT-RK Computer Based Systems, [email protected], Ivan Petrović, RT-RK Computer Based Systems, [email protected], Tomislav Maruna, RT-RK Computer Based Systems,

[email protected]

D

21st Telecommunications forum TELFOR 2013 Serbia, Belgrade, November 26-28, 2013.

978-1-4799-1420-3/13/$31.00 ©2013 IEEE

kao i veze između aplikativnog servisa i GUI aplikacije, što je i prikazano na Sl. 1. DTV servis se pokreće prilikom pokretanja uređaja i njegovo izvršavanje se nikada ne prekida (dok je uređaj uključen). Prilikom pokretanja GUI aplikacije pokreće se i aplikativni servis koji u istom trenutku inicira povezivanje sa DTV servisom.

DTV Servis [3] koristi programsku podršku DTV prijemnika putem JNI sprege (eng. Java Native Interface) [4]. Pri pokretanju DTV servisa učitavaju se “.so” biblioteke koje sadrže JNI spregu i programsku podršku televizijskog prijemnika.

Zbog prirode Java programskog jezika da se izvršava na virtuelnoj mašini, Java metode ne mogu direktno pozivati C funkcije. JNI dozvoljava Java programskom jeziku da izvršava kod iz biblioteka koje su napisane u drugim programskim jezicima kao što su C,C++. JNI sprega je uvedena iz razloga što je programska podrška DTV prijemnika napisana u C programskom jeziku, dok su servisi i GUI aplikacija napisane u Java programskom jeziku.

Radi lakše komunikacije servisa sa ostalim aplikacijama (servisima) koristi se aplikativna Java sprega preko AIDL (eng. Android Interface Description Language) datoteka [2]. AIDL datoteka predstavlja spregu u kojoj su sadržane metode kojima se pristupa iz klijentskih aplikacija ili drugih servisa.

Aplikativni Servis je zamišljen kao veza između DTV servisa i GUI aplikacije, obuhvatajući sve funkcionalnosti DTV servisa kao i proširenje sa funkcijama koje se odnose na sam Android operativni sistem.

TV aplikacija je centralna aplikacija STB uređaja. Realizovana je kao pokretač ostalih aplikacija Android platforme (eng. Launcher) i uz njenu pomoć korisnik korišćenjem daljinskog upravljača vrši interakciju sa DTV prijemnikom.

III. OPIS REALIZACIJE I REŠENJA TV aplikacija pisana je po MVC (eng. Model View

Control) modelu, pa se zato može podeliti u tri celine: • Slušalac (eng. Listener) • Rukovalac (eng. Handler) • Prikaz (eng. View)

Slušalac predstavlja kontroler u MVC modelu. Zadatak slušaoca je da komande koje korisnik zadaje daljinskim upravljačem (eng. Remote Command Unit) obradi i u zavisnosti od rezultata prosledi odgovarajuće informacije rukovaocu. Rukovalac u MVC modelu predstavlja model, sastoji se od dva manja rukovaoca, rukovalac za komunikaciju sa servisima i rukovalac za komunikaciju sa grafičkom spregom. Rukovalac za komunikaciju sa Servisima zadaje instrukcije programskoj podršci TV prijemnika. Programska podrška TV prijemnika obrađuje dobijene instrukcije i na osnovu dobijenih rezultata obaveštava ili prosleđuje informacije rukovaocu pomoću Callback metoda. Rukovalac za komunikaciju sa grafičkom spregom podeljen je na više manjih rukovalaca, tj. na ukupan broj komponenti grafičke sprege. Cilj ovakve podele je da

svaka komponenta bude nezavisno kontrolisana i da se jedna te ista komponenta može više puta iskoristiti.

Slika 2. Realizacija TV aplikacije po MVC modelu

Poslednji deo MVC modela je prikaz (eng View) tj. grafička korisnička sprega (eng. Graphic User Interface). Realizovana je pomoću standardnih Android grafičkih biblioteka. Sastoji se od više grafičkih komponenti: android galerije, polja za prikaz i unos teksta, dugmića, opcionih dugmića, površine za prikaz video sadržaja itd. TV aplikacija sadrži grafičke komponente koje obezbeđuju DTV funkcionalnost i olakšavaju rukovanje prijemnikom digitalnog televizijskog signala, kao što su razni meniji za pretraživanje kanala, meniji za podešavanje audio i video komponenti, meniji za izbor kanala, meniji za prikaz EPG informacija itd. Pored toga sadrži i mogućnost korišćenja ugrađenih i instaliranih Android aplikacija. Zbog velikog broja mogućnosti koje postoje na uređaju i njihove sličnosti u rukovanju, android galerija je komponenta uz pomoć koje je najlakše kontrolisati i dinamički stvarati grafičke delove aplikacije. Dobra osobina galerije je keširanje podataka, tako da se podaci jednom učitavaju iz programske podrške TV prijemnika i po potrebi ažuriraju. Time se dobija na performansama uređaja, tj. gledano sa korisničke strane izuzetno brz prolaz kroz menije. Za potrebe realizacije TV aplikacije, galerija kao standardna komponenta Android platforme morala je biti izmenjena. Cilj je bio da se ne izgube osobine galerije već da se promeni njen standardni način iscrtavanja. Cela struktura menija TV aplikacije realizovana je u obliku polukruga, tako da se komponente kreću po njenim ivicama. Pošto je standardno iscrtavanje komponenti galerije horizontalno, a potrebno je dobiti polukružno, standardna android glerija je izmenjena. Izmena galerije može se podeliti na dva dela:

• Izmena grafičke ravni za iscrtavanje galerije • Izmena grafičke ravni za iscrtavanje komponenti

galerije Pod izmenom grafičke ravni za iscrtavanje galerije

podrazumeva se njena rotacija za -90º, da bi se dobio osećaj pomeranja menija na gore ili dole. Trenutni oblik komponenti galerije je isti ali samo iscrtavanje nije više horizontalno već vertikalno, a cilj je dobiti polukrug. Zato je potrebno izvršiti i izmenu grafičke ravni za iscrtavanje komponenti. Svaka komponenta je trenutno rotirana za -90º pa je potrebno ponovo rotirati za 90º i pomeriti u

desno u zavisnosti od trenutne pozicije iscrtavanja. Rotacijom se dobija početni izgled komponente, a pomeranjem u desno galerija dobija oblik polukruga (Slika 3.).

Slika 3. Galerija u obliku polukruga

Glavni meni i podmeniji su predstavljeni u obliku polukružne galerije. U zavisnosti od izabrane komponente u glavnom meniju prikazuje se određeni podmeni i njegove komponente. Glavni meni se sastoji od komponenti koje sadrže samo polja za prikaz teksta, dok podmeniji pored polja za prikaz teksta imaju i polja za unos teksta i opcione dugmiće. Galerija kao komponenta može da sadrži samo polja za prikaz teksta, zato je potrebno u podmenijima dodati kontejner (eng. Layout) koji će sadržati polja druge vrste i iscrtati ga u pravcu izabrane komponente, da bi se postigao vizuelan osećaj da je kontejner deo galerije (Slika 4.).

Slika 4. Podmeni sa kontejnerom

Ostale grafičke komponente Android platforme nisu izmenjene, već su iskorišćene u kombinaciji sa drugim komponentama.

IV. ZAKLJUČAK U radu je prikazano jedno rešenje android TV aplikacije

realizovane na osnovu MVC modela. TV aplikacija je napisana u Java programskom jeziku

korišćenjem standardne Android biblioteke. Dalji razvoj aplikacije zasniva se na uvođenju skup

biblioteka OpenGL ES, koje će omogućiti bolje performanse aplikacije, brže iscrtavanje grafike i proširiti mogućnosti izrade različitih vrsta i oblika komponenti grafičke korisničke sprege.

LITERATURA [1] M.Vidakovic, N.Teslic, T.Maruna, and V.Mihic: Android4TV: a

proposition for integration of DTV in Android devices, IEEE 30th International Conference on Consumer Electronics (ICCE), Las Vegas, January 2012, pp. 441-442

[2] Sajt Android podrške za razvoj www.developer.android.com, učitano 15.09.2013

[3] iWedia sajt, www.iwedia.com, učitano 15.09.2013 [4] JNI Oracle sajt

http://docs.oracle.com/javase/1.4.2/docs/guide/jni/spec/jniTOC.html, učitano 15.09.2013

ABSTRACT This paper presents one implementation of UI TV

application on Android Set top box, problems and solution through integration. .Application supports displaying DTV informations by using Android graphics components and user interaction with that data. For getting information about DTV in this implementation is used Middleware.

ONE IMPLEMENTATION OF UI TV APPLICATION ON ADNROID STB

Milos Milanović, Branimir Pavlović, Ivan Petrović, Tomislav Maruna